gitmyhub

eureka

Java ★ 13k updated 2mo ago

AWS Service registry for resilient mid-tier load balancing and failover.

Netflix's service registry that lets backend services find each other on AWS without hardcoded addresses. Services register on startup, and Eureka automatically stops routing traffic to any instance that goes down.

JavaMavenAWSsetup: hardcomplexity 4/5

Eureka is a service registry built and used by Netflix to manage its large collection of backend servers running on Amazon Web Services. When you run a system made up of many small services that need to find and talk to each other, you need a central place where each service can register itself and look up others. Eureka fills that role. It handles service discovery, load balancing across multiple instances of a service, and automatic failover when a server becomes unavailable.

In Netflix's architecture, Eureka sits in the middle layer of the infrastructure, between the edge (what faces users) and the databases or persistence layers. When a service starts up, it registers with Eureka. Other services that want to call it ask Eureka for its address rather than having that address baked in. If a server goes down, Eureka stops advertising it, and traffic automatically shifts to healthy instances.

The project is built in Java and the repository is relatively sparse in terms of documentation. The README points to the project's GitHub wiki for detailed information on how to configure and run it. Building requires Java 8 due to a dependency, though the code itself targets an older Java compatibility level. The project is community-driven and maintained periodically by Netflix. The README is brief and does not walk through setup or usage steps in detail.

Where it fits