Consul Service Networking
github.com
2
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Consul is a free and open-source service networking platform that provides service discovery, configuration, and orchestration capabilities for distributed systems. Created by HashiCorp in 2014 by Mitchell Hashimoto and Armon Dadgar, Consul enables applications to register themselves and discover other services via DNS or HTTP interfaces, with built-in health checking and a key-value store. Key features: service discovery: services register with Consul (via configuration file or API) with a name, address, port, and health checks. Clients query Consul via DNS (service.consul) or HTTP API to discover the address and port of healthy service instances. Consul supports both TCP and UDP services. Health checking: Consul performs active health checks (HTTP, TCP, script, Docker, gRPC, TTL) on registered services. Unhealthy services are removed from DNS and API results, preventing traffic from being routed to failing instances. Health checks can be configured with intervals, timeouts, and deregistration critical thresholds. Key-Value store: a hierarchical KV store for dynamic configuration, feature flags, and coordination. Supports long-polling for near-real-time updates and consistency modes (default/strong). Service mesh: Consul Connect provides secure service-to-service communication via mutual TLS (mTLS) with automatic certificate rotation. Sidecar proxies (Envoy) handle encryption and traffic policies. Intentions define allow/deny rules for service-to-service communication. Multi-datacenter: Consul natively supports multiple datacenters with WAN gossip, enabling service discovery and mesh connectivity across regions. Raft consensus: uses the Raft protocol for strong consistency of the catalog and KV store. Consul servers form a Raft cluster; agents run on every node. Gossip protocol (Serf memberlist) for cluster membership and failure detection. Watch: long-poll subscriptions for changes to KV, services, nodes, or events. Go. MPL-2.0.
Statistics
2
Views
0
Clicks
0
Like
0
Dislike