본문 바로가기

내부 공부용이다. 좋은 사이트 글을 보고 배우자.

업무 종류에 따라 어떠한 마이크로 서비스 간의 상호작용 방식이 좋을까요? 리니 LGCNSer

 

업무 종류에 따라 어떠한 마이크로 서비스 간의 상호작용 방식이 좋을까요?

MSA 시스템 구축 프로젝트에서는 가장 먼저 하는 일이 As-Is 시스템을 분석한 후 마이크로 서비스를 ...

blog.naver.com

 

■ 마이크로 서비스의 상호작용 방식 (서비스 내부 Orchestration 기준)

① API 호출 방식(동기) : 온라인 트랜잭션에서 사용하며, 하나의 트랜잭션으로 처리가 반드시 되어야 하는 업무에 사용함

(예) 주문서비스에서 주문 완료 후 결제서비스에서 결제가 반드시 성공되어야 하는 업무

※ 고려사항 : ServiceB 성공 처리 이후 ServiceA 기능 처리 시 오류 가 발생되면 ServiceB 기능에 대한 보상 처리 고려

ServiceB 장애에 대한 처리가 반드시 되어야 함

② API 호출 방식(비동기) : 온라인 트랜잭션에서 사용하며, 다만 결과를 기다리지 않고 업무가 처리되는 업무에 적합

(예) 주문 서비스에서 주문 처리 후 상품의 재고 처리, 혹은 상품의 Point 처리 등에 대한 업무에 적합함.

서비스 한 곳으로 정보를 송신하여 처리할 경우에 사용함

※ 고려사항 : 서비스B 처리 결과가 성공/실패에 대한 후처리 기능을 반드시 구현해야 함

 

서비스 매쉬

 

서비스 매쉬란 마이크로서비스 아키텍처를 구성하는 애플리케이션들이 서로 데이터를 공유하는 방식을 제어하는 방법입니다12. 서비스 매쉬는 애플리케이션 계층이 아닌 인프라 플랫폼 계층에 특정 모듈을 삽입하여 애플리케이션에 대한 라우팅, 보안 및 안정성 기능을 추가하는 도구입니다3. 서비스 매쉬는 네트워크 프록시의 배열로서 애플리케이션에 구축되며, 이러한 프록시들은 각 서비스와 함께 실행되어 'sidecar’라고도 합니다3. 서비스 매쉬는 서비스 내부의 통신에 대한 제어를 담당하며, 성능 메트릭을 수집하고 문제를 진단하고 커뮤니케이션을 최적화하는 데 도움이 됩니다3.

API 호출방식은 마이크로서비스에서 서비스 호출 패턴 중 하나로, API Gateway 패턴과 API Gateway + BFF (Backend For Frontend) 패턴이 있습니다4. API Gateway 패턴은 클라이언트와 로드밸런서 중간에 API Gateway를 적용하여 마이크로서비스 기반 애플리케이션 UI단에서 매우 효율적으로 요청을 마이크로서비스에게 전달할 수 있도록 하는 패턴입니다45. API Gateway는 서비스 요청에 대한 진입점 역할을 하며, 클라이언트의 요청을 마이크로서비스에 라우팅하는 리버스 프록시로 사용됩니다. 또한 인증, SSL, 캐시와 같은 기능을 함께 사용할 수 있습니다45. API Gateway + BFF 패턴은 API Gateway를 나누어서 클라이언트 앱당 하나씩 분할하는 패턴으로, 다양하고 많은 요구사항을 기반으로 API가 추가되기 때문에 단일 API Gateway가 처리하는 API가 많아지면 사실상 기존 모놀리식 어플리케이션 아키텍처와 상당히 비슷하게 변모할 가능성을 줄여줍니다4.

API Gateway와 서비스 매쉬는 기능면에서 유사한 부분들이 존재하지만, 이들의 역할은 상당히 다르고 상호보완적인 부분들이 있습니다. API Gateway는 중앙 집중식 제어 영역으로 외부에서 들어오는 트래픽에 대한 제어를 담당하고, 서비스 메시는 애플리케이션 기능을 인프라 계층에 의해 관리되는 마이크로 서비스로 분리하는 방법입니다. 

 

출처: Bing과의 대화, 2023. 5. 11.
(1) 서비스 메쉬, 데이터 플레인, 컨트롤 플레인 뜻. https://2kindsofcs.tistory.com/47.
(2) Service Mesh에 대해서 - JOINC. https://www.joinc.co.kr/w/man/12/servicemesh.
(3) 서비스 메시(Service Mesh)란? + API Gateway와 차이점 :: 매일매일 꾸준히. https://junuuu.tistory.com/206.
(4) 서비스 메쉬, 데이터 플레인, 컨트롤 플레인 뜻. https://bing.com/search?q=%ec%84%9c%eb%b9%84%ec%8a%a4+%eb%a7%a4%ec%89%ac+%ea%b0%9c%eb%85%90.
(5) 서비스 메쉬(service mesh) 개념, 기능, 작동방식, 최적화 방법 - Red Hat. https://www.redhat.com/ko/topics/microservices/what-is-a-service-mesh.**

참고 사이트

MSA(Micro Service Architecture)란 무엇인지 종합적으로 살펴보자! (sarc.io)

 

MSA(Micro Service Architecture)란 무엇인지 종합적으로 살펴보자!

Tech Note 정보 애리얼 님이 작성하신 글입니다. 카테고리: [ Cloud Computing & MSA ] 게시됨: 03 February 2017 작성됨: 04 February 2017 최종 변경: 17 June 2021 조회수: 11847 1. MSA? Micro Service Architecture. 쉽게 접근해

sarc.io

 

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.