-
클라우드 마이크로 서비스 - Spring Cloud Netflix EurekaInfra/클라우드 2023. 12. 12. 14:31
Spring Cloud Netflix Eureka
위 그림은 하나의 마이크로 서비스가 3개의 인스턴스로 확장 되어 개발되는 경우이다. 서비스는 하나인데 3개의 인스턴스로 나뉘어 개발 된다. 일종의 로드밸런스 처럼 부하분산을 하는 처리가 되어 있다고 가정을 한다.
개발을위해 사용하는 PC가 한대 일 경우(하나의 IP 밖에 없는 경)에는 여러개의 서비스를 동시에 실행하기 위해서 localhost에 port를 나눠서 실행 해야 한다. 만약 가용할 수 있는 PC가 한대 이상일 경우 port가 같되 IP는 다르게 해서 실행 하면된다.
만들게될 모든 마이크로 서비스는 Spring Cloud Netflix Eureka라는 제품에다가 등록을 먼저 할 것이다. 유레카가 해주는 역활은 서비스 디스커버리이다. 서비스 디스커버리는 말 그대로 외부에서 다른 어떤 서비스들이 마이크로 서비스를 검색하기 위해서 사용하는 기능이다. 일종의 전화번호 책과 같은 기능이다. 이 안에 들어가는 정보가 key-value형태로 저장되어 있다고 가정하자. 서버 이름은 key에 위치는 value에 등록이 된다. 이런 것들을 등록하는 것이 서비스 디스커버리이다. 정리 하자면 서비스 디스커버리는 서비스에 대한 정보 등록과 검색을 해주는 역할을 한다.
넷플릭스라는 회사가 가지고 있는 자사의 클라우드 기술들을 Java Spring 재단에다가 기부해서 사용할 수 있는 것이 유레카 제품이다.
마이크로 서비스를 사용하고 싶은 클라이언트가 있을때 1)클라이언트는 제일 먼저 자신이 필요한 요청 정보를 로드밸런스 혹은 API 게이트 웨이에 전달하게 되면 2)요청 정보가 서비스 디스커버리에 전달이 되어서 요청 정보에게 필요한 정보를 검색하게 된다. 3)서비스 디스커버리가 서버 정보를 반환 되면 해당 서버를 요청 정보가 호출하고 4)최종적으로 이에 대한 결과 값이 클라이언트에게 반환된다.
EcommerceDiscoveryService
[출처 - Spring Cloud로 개발하는 마이크로 서비스 애플리케이션, 저 Dowon Lee]
'Infra > 클라우드' 카테고리의 다른 글
클라우드 마이크로 서비스 - API Gateway Service(Netflix Zuul)1 (0) 2023.12.13 클라우드 마이크로 서비스 - Eureka Service Discovery (0) 2023.12.12 클라우드 마이크로 서비스 - Spring Cloud (0) 2023.12.12 클라우드 마이크로 서비스 - Microservice Architecture Structures (0) 2023.12.12 클라우드 마이크로 서비스 - SOA vs MSA (0) 2023.12.12