nhnacademy-aiot1-5 / study

공부한 내용을 기록하는 저장소입니다.
MIT License
0 stars 0 forks source link

discovery-service #16

Open siddltkfkd opened 6 months ago

siddltkfkd commented 6 months ago

역할

micro service들의 주소값(ip, port)을 저장하는 저장소

service discovery

Image

분산환경에서 각 서비스를 호출하기 위해서는 각 서비스의 ip주소와 port 번호를 알아야한다.

클라우드 기반 MSA Application의 경우 네트워크 주소는 ‘{ip}:{port}’로 동적 할당된다.

클라이언트가 서비스를 호출하기 위해 서비스의 위치를 찾는 매커니즘이 필요하다.

주 기능

서비스를 등록하고 등록된 서비스를 반환한다.

health check 를 통해 현재 서비스 가능한 서비스를 판별하고, 그 목록을 제공한다.

서비스간 부하 분산 비율을 조정한다.

client side discovery

Image

service client가 service registry에서 서비스의 위치를 찾아서 호출하는 방식

server side discovery

Image

proxy server(Load Balancer, Spring Cloud Gateway)를 제공하고, gateway를 호출하면 service registry(Eureka)에 등록된 서비스의 위치를 기반으로 라우팅하는 방식

micro service 들이 생성되면 discovery-service에 자신이 가진 주소를 전부 등록시킨다.

gateway에 요청이 들어오면 gateway는 discovery service에게 쿼리를 던져서 요청 보낼 주소를 받는다.

gateway는 load balancer를 통해 어떤 곳으로 요청을 보낼지 정하고 micro service에게 요청을 보낸다.

service registry