A production-ready service registry for resilient mid-tier load balancing and failover, used at Bilibili.
Discovery is a service registry developed by Bilibili for locating services to enable resilient load balancing and failover of middle-tier servers. It solves the problem of managing service discovery in microservices architectures, ensuring high availability and efficient traffic distribution. The system is production-ready and handles large-scale deployments.
DevOps engineers and backend developers building or maintaining microservices architectures that require reliable service discovery, load balancing, and failover capabilities.
Developers choose Discovery for its proven reliability in high-traffic environments like Bilibili, its support for multiple programming languages through SDKs, and its focus on simplicity and resilience without sacrificing performance.
A registry for resilient mid-tier load balancing and failover.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Battle-tested at Bilibili, handling massive real-world traffic, ensuring reliability and resilience for microservices architectures.
Offers official SDKs for Go and community-driven SDKs for Java, C++, and Python, facilitating integration in diverse tech stacks.
Designed with a philosophy of resilience and simplicity, providing essential service discovery, load balancing, and failover without bloat.
Enables automatic rerouting to healthy instances, enhancing system availability and reducing downtime in production environments.
Compared to established solutions like Consul, Discovery has a smaller community and fewer third-party integrations, increasing setup and maintenance effort.
Primary documentation is in Chinese and English, with community SDKs having inconsistent quality, and support via issues or a QQ group limits accessibility for global teams.
Configuring Discovery across multiple languages requires additional coordination and may rely on unstable community contributions, adding to deployment challenges.