For a service discovery tool for microservices, the first results are hashicorp/consul (Consul is the industry-standard service-discovery and service-registry tool that provides DNS and HTTP API-based registration, health checks, a key-value store, and load-balancing integration, fully covering the dynamic connectivity needs of distributed systems), alibaba/nacos (Nacos is a dedicated service discovery and configuration platform for cloud-native environments, providing service registry, health checks, DNS-based routing, and load‑balancing integration — exactly the dynamic service discovery toolkit this search asks for) and netflix/eureka. coreos/etcd and apache/dubbo round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “service discovery tools”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Consul is a distributed coordination service and service mesh tool used for service discovery, health monitoring, and cluster state management across dynamic networks. It provides a platform for locating network addresses of services and managing traffic across distributed infrastructure using DNS and HTTP interfaces. The project distinguishes itself through multi-datacenter network orchestration, enabling the federation of services across different regions using mesh gateways. It secures communication via a service mesh architecture that employs identity-based authorization and mutual TLS en
Consul is the industry-standard service-discovery and service-registry tool that provides DNS and HTTP API-based registration, health checks, a key-value store, and load-balancing integration, fully covering the dynamic connectivity needs of distributed systems.
Nacos is a service discovery and configuration platform designed for cloud native environments. It serves as a management plane that orchestrates service registries, handles dynamic application settings through a remote configuration store, and functions as a load balancing control plane for distributed clusters. The platform differentiates itself by providing real-time configuration updates that push changes to clients without requiring service restarts. It also implements weighted routing and DNS-based traffic routing to manage load balancing policies across a fleet of healthy service insta
Nacos is a dedicated service discovery and configuration platform for cloud-native environments, providing service registry, health checks, DNS-based routing, and load‑balancing integration — exactly the dynamic service discovery toolkit this search asks for.
Eureka is a service registry and discovery server that serves as a coordination tool for microservices. It provides a distributed service registry where instances record their network locations and health status to enable dynamic communication without the use of hardcoded addresses. The system functions as a client-side load balancing framework, providing location data to consumers so they can distribute network traffic across available instances. It employs a heartbeat-based health monitor to track instance availability and automatically removes unresponsive nodes from the registry to manage
Netflix/Eureka is a distributed service registry and discovery server that uses heartbeat-based health monitoring, client-side load balancing integration, and automatic removal of unresponsive instances, directly meeting your need for dynamic microservice-to-microservice connectivity.
etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro
Etcd is a distributed key-value store explicitly described as a reliable registry for service metadata and configuration, which enables dynamic service discovery in distributed systems, though it lacks built-in health checking and DNS resolution found in more comprehensive registries.
Dubbo is a Java RPC framework and microservices governance platform designed for high-performance remote procedure calls in distributed architectures. It provides the foundational components necessary to connect distributed services across a network, including a binary data serialization library and a distributed service registry. The platform distinguishes itself through a comprehensive governance suite that manages service discovery, load balancing, and traffic routing. It enables precise control over network traffic via conditional routing and a pluggable extension mechanism based on a ser
Dubbo is a Java RPC framework with an integrated distributed service registry, health monitoring, and load balancing, which directly addresses the need for services to dynamically discover and connect—though it is a broader microservices platform rather than a standalone registry.
ZooKeeper is a distributed coordination service that provides a centralized system for managing configuration, naming, and synchronization across a cluster of distributed processes. It functions as a cluster consensus service, a distributed configuration store, and a distributed lock manager to maintain a consistent state across multiple network nodes. The service implements a consensus protocol to ensure data consistency and uses a replicated state machine to maintain identical copies of the system state across all servers. It provides a distributed lock management system to coordinate exclu
Apache ZooKeeper is a distributed coordination service that provides a hierarchical namespace with ephemeral nodes, commonly used as a service registry for dynamic service discovery and health checking, though it does not offer native DNS-based resolution.
Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated
Olric is a distributed key-value store and in-memory data grid rather than a dedicated service registry; it lacks the core features (health checking, DNS resolution, API-driven registration) needed for service discovery in distributed systems.
xmall is a distributed e-commerce platform based on a service-oriented architecture. It separates business logic into independent services that communicate over a network to ensure scalability and fault tolerance, utilizing a decoupled storefront interface for customer transactions. The platform employs a distributed architecture using Dubbo for service orchestration and Zookeeper for cluster coordination and service discovery. It integrates a specialized set of components including an asynchronous message broker for background tasks, an indexed search system for product catalogs, and a centr
This is a distributed e-commerce platform that uses Zookeeper for service discovery under the hood, but it is not a service-discovery tool itself—it is a consumer of such tools, not the tool you would deploy to enable discovery across services.
rpcx is a high-performance remote procedure call framework for building scalable microservices in Go. It functions as a binary protocol RPC system and a service mesh, providing the necessary infrastructure for low-latency inter-service communication and distributed cloud environments. The project features a cross-language service gateway that provides an HTTP entry point, allowing clients written in any programming language to invoke Go remote services via protocol translation. It also includes a specialized RPC traffic analyzer for capturing and analyzing binary packets to debug network comm
rpcx is a high-performance RPC framework and service mesh that includes service discovery as a feature, but its primary identity is a remote procedure call system rather than a dedicated service registry or discovery tool.
Iroh is a peer-to-peer networking stack and distributed system designed for secure direct connections, content-addressed storage, and synchronized data sharing. It provides a foundation for decentralized applications by combining a QUIC-based networking layer with primitives for distributed state and data transfer. The project distinguishes itself through a comprehensive suite of decentralized capabilities, including a distributed data store using conflict-free replicated data types for collaborative synchronization and a content-addressed storage system for verifiable, resumable transfers of
Iroh is a peer-to-peer networking stack for decentralized applications, not a dedicated service registry with health checking, DNS resolution, or API-driven registration — it handles peer discovery in a p2p context but lacks the distributed-system service‑discovery features your query targets.
Spring Cloud Alibaba is a microservices orchestration framework that provides a standardized programming model for building distributed systems. It functions as a cloud-native integration layer, bridging enterprise application frameworks with distributed infrastructure to manage service discovery, traffic control, and state consistency across complex, multi-part application environments. The framework distinguishes itself through specialized components for managing distributed operations, including aspect-oriented traffic control that enforces flow rules, circuit breaking, and rate limiting a
Spring Cloud Alibaba is a microservices orchestration framework that integrates with service registries like Nacos to manage discovery, rather than being a standalone service registry itself — it provides the plumbing for discovery but is not the core registry tool your search is after.
Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions as a multi-protocol RPC server capable of exposing gRPC, Thrift, and REST services on a single unified port. The project is distinguished by its ability to run diverse communication protocols simultaneously and its integrated RPC debugging web console, which allows for the discovery and invocation of remote procedure calls via JSON. It also includes a gRPC to JSON transcoder to enable web client compatibility with Protobuf services. The framework provides a comprehensive sui
Armeria is a microservice framework for building asynchronous RPC services, not a dedicated service registry or discovery tool; while it includes client-side load balancing and some discovery mechanisms, its core purpose is building services rather than enabling dynamic service-to-service discovery.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| hashicorp/consul | 29.9K | Go | NOASSERTION | |
| alibaba/nacos | 33K | Java | Apache-2.0 | |
| netflix/eureka |
| 12.7K |
| Java |
| Apache-2.0 |
| coreos/etcd | 51.8K | Go | Apache-2.0 |
| apache/dubbo | 41.5K | Java | Apache-2.0 |
| apache/zookeeper | 12.8K | Java | Apache-2.0 |
| olric-data/olric | 3.5K | Go | Apache-2.0 |
| exrick/xmall | 7.2K | Java | GPL-3.0 |
| smallnest/rpcx | 8.3K | Go | NOASSERTION |
| n0-computer/iroh | 7.9K | Rust | apache-2.0 |