더북(TheBook)

우리가 만든 마이크로서비스 아키텍처는 Distributor가 모든 마이크로서비스의 접속 정보를 알고 있으므로 Distributor에서 정보를 받아 해당 마이크로서비스에 질의하면 됩니다. 요청하는 마이크로서비스는 별도의 소켓을 이용해 접속하고, 응답하는 마이크로서비스는 원래 동작하던 대로 API 호출에 응답하면 됩니다. 예를 들어 구매 관리 마이크로서비스가 상품 관리 마이크로서비스에 접속해 유효한 상품 정보를 질의하고, 구매 요청을 할 때는 유효한 상품 정보를 활용하는 방식을 생각해 볼 수 있습니다.

다른 방법은 특정 마이크로서비스가 공유 자원이 필요한 다른 모든 마이크로서비스에 변경 사항을 알려 주는 것입니다. 예를 들어 상품 관리 마이크로서비스에 상품 등록·삭제·변경 등 API를 호출하면, 구매 관리 마이크로서비스에 변경 사실을 알려 줍니다.

▲ 그림 11-4 마이크로서비스 간 정보 공유 아이디어 2

 

이외에도 다양한 마이크로서비스 간의 구조적 배치로 데이터베이스에 부담을 주지 않고도 공유 자원 문제를 해결할 수 있습니다. 하지만 구현이 복잡하고 마이크로서비스 간에 의존성이 생기는 단점이 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.