Spring Cloud : MSA 구축하고 운영하는 데 필요한 다양한 기능 제공하는 Spring Framework 모음. 여러 개별 서비스가 서로 원활하게 통신하고 관리될 수 있도록 돕는 도구와 패턴 제공.
서비스 등록 및 발견 서버
각 서비스는 Eureka 서버에 자신의 정보 등록, 다른 서비스는 이를 통해 필요한 서비스를 찾아 호출 가능. 클라이언트측 로드밸런싱과 장애감지 기능 제공.

: 서비스 간의 트래픽 분산 담당
클라이언트가 API Gateway 통해 요청 보내면 서비스 인스턴스 중 하나로 전달되어야함. 이때 로드 밸런서가 Eureka 서버에서 받은 정보를 바탕으로 적절한 인스턴스로 요청을 분배.
각 인스턴스의 상태(Health Status)를 주기적으로 체크하여 문제가 있는 인스턴스에는 트래픽을 보내지 않도록하여 시스템의 안정성 높임
부하가 특정 인스턴스에 치우치지 않도록 부하 분산 기능을 수행하여 전체 시스템의 성능 최적화
: 실제 비즈니스 로직 수행하는 역할
서비스 인스턴스 A,B,C는 각기 다른 포트에서 구동됨.
각 인스턴스는 고유의 포트 번호로 구동됨
클라이언트의 요청에 따라 API Gateway와 Load Balancer를 통해 서비스됨
마이크로서비스 환경에서는 인스턴스들이 확장 or 축소될 수 있음
클라이언트가 특정 서비스를 요청하면 요청은 API Gateway로 전달됨
API Gateway는 요청된 서비스의 이름을 기반으로 Eureka 서버에서 해당 서비스의 인스턴스 정보를 조회
조회된 정보는 로드 밸런서에 전달됨.
로드밸런서는 각 서비스의 상태를 확인한 후 적절한 서비스 인스턴스로 요청 전달
서비스 인스턴스는 요청 처리. 그 결과를 API Gateway를 통해 클라이언트에게 반환