Eureka Server(마이크로서비스 등록 및 검색):
Eureka는 Middle-tier server(비즈니스 로직이 위치한 애플리케이션 서버단)의 로드밸런스와 failover를 위해 서비스를 배치해 주는 REST 기반 서비스이다. 이 서비스는 주로 AWS Cloud에서 사용되고, 이를 Eureka Server라 부른다.
Eureka Client:
Java 기반 클라이언트 요소도 있는데, 서버와 상호작용을 더 쉽게 해주는 것을 Eureka Client라 부른다. 클라이언트도 Round-Robin방식을 기본으로 사용하는 로드밸런스를 내장하고 있다. Netflix에서는, Eureka에서 기본 로드 밸런스 외에도 트래픽, 리소스 사용량, 에러 상황 요소에 따라 로드밸런스를 할 수 있도록 제공해주고 있다.
Eureka Server의 필요성
AWS Cloud에서는 특성상 서버가 자주 꺼졌다 켜젔다 한다. IP 주소와 hostname을 이용하는 기존 로드밸런스와 다르게, AWS에서는 로드밸런스는 좀 더 정교한 능력을 요구한다. IP 주소는 수시로 변하기 때문에 로드밸런스가 서버를 등록하고 해지하는 작업을 유동적으로 할 수 있게 해야한다.
AWS에서는 아직 middle tier 로드밸런스를 제공하지 않기 때문에, Eureka에서는 이를 제공해준다.
Eureka vs Route 53
Route 53이 네이밍 서비스란 점과 Eureka의 mid-tier 서버를 위해 네이밍 서비스를 제공해주는 점은 같다.
Route 53은 non-AWS data center를 위해서 DNS 레코드를 호스트할 수 있는 서비스이다. 그리고, AWS region과 상관이 없다.
Eureka는 DNS 서버와 아무 상관이 없다. 그리고 Eureka는 다른 AWS region에 있는 서버에 대해서는 알 수 없다. 원래 목적이 region내 로드밸런싱 하기 위한 정보를 가지는 것이다. Route53은 DNS기반 로드밸런싱을 사용하기 때문에 서버의 상태가 unhealthy여도 보내지기 때문에 문제가 생긴다.
참조: 링크텍스트