HashiCorp Certified: Consul Associate Certification

Explain Consul Architecture

Network Automation

Leverage Consul’s network automation to deliver resilient, observability-driven service traffic management. You’ll learn how to route requests to healthy endpoints, split traffic between service versions, and gain deep layer 7 visibility with Envoy.

Dynamic Load Balancing & Traffic Shaping

Consul automatically routes traffic only to registered, healthy service instances. You can define advanced traffic-shaping policies—similar to a load balancer—to split and steer requests:

  • Health-aware routing: Requests go only to passing checks.
  • Weighted splits: Distribute traffic (e.g., 80/20) across service subsets.
  • Path-based routing: Send specific URLs or HTTP methods to designated backends.
  • Failover & multi-cloud: When an availability zone or cloud provider fails, traffic shifts seamlessly to healthy regions or on-premises datacenters.

Note

Consul integrates natively with Envoy for L7 control, and you can extend to F5, NGINX, or HAProxy using built-in connectors.

Integration Partners

Proxy / Load BalancerUse CaseLearn More
EnvoyFull L7 policy & observabilityEnvoy Proxy
NGINXHTTP/S traffic managementNGINX Docs
HAProxyHigh-performance L4/L7 routingHAProxy
F5Enterprise hardware appliancesF5 Networks

Service Splitting Example

  1. Initial state: All traffic routes to v1.
    User → Consul → web-app v1
    
  2. Canary upgrade: Deploy v2 and validate.
  3. Traffic shift: Apply a service-splitter policy.
Kind  = "service-splitter"
Name  = "web-app"
Splits = [
  {
    ServiceSubset = "v2"
    Weight        = 100
  },
  {
    ServiceSubset = "v1"
    Weight        = 0
  },
]

Warning

Ensure both versions pass health checks before shifting traffic. A misconfigured subset with Weight > 0 and failing health checks will not receive traffic.

Layer 7 Visibility & Metrics

By pairing Consul’s network automation with Envoy’s built-in metrics, you gain real-time L7 insights:

  • Connection counts
  • Request latencies and timeouts
  • Circuit breaker states

You can export these statistics via StatsD, DogStatsD, or Prometheus and visualize them in Grafana:

The image illustrates network automation, highlighting increased Layer 7 visibility between services and the ability to view metrics like connections and timeouts. It shows a flow from Envoy to Grafana using StatsD, DogStatsD, and Prometheus.

Further Reading

Watch Video

Watch video content

Previous
Service Mesh