MSA: Microservice Architecture의 약자로 한 문장으로 정리하자면 아래와 같다습니다
"하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐"
즉 작은 서비스들을 만들어 합쳐 하나의 어플리케이션으로 만든다는 개념으로 컴포넌트들의 조합이라고 이해했습니다.
등장 배경
MSA의 반대 개념은 Monolithic Architecture로 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태입니다.
아직까지 개발하기 간단하다는 장점으로 많은 소프트웨어가 이 Monolithic 형태로 구현되어 있습니다.
하지만 큰 규모의 개발 프로젝트에서는 한계와 단점이 존재한다고 합니다. 아무래도 큰 규모의 개발을 진행할 때는 빌드 및 테스트 하는 시간이 오래걸리고 전체 시스템 구조를 파악하는 것이 쉽지 않기 때문입니다.
제가 이해하기로는 큰 규모의 온라인 주문 사이트에서 이 MSA 형태의 개발을 하겠구나 싶었습니다.
그래서 이번에 고랭으로 MSA에서 흔히 일어날 수 잇는 상황에 대해서 효율적인 처리를 연습해볼 수 있도록 Context를 사용한 예시를 개발해 보았습니다. (개발 다 하면 링크 넣을 것… ㅎㅎ)
또 쿠팡에서 테크 블로그(?) 비슷하게 MSA 에 대해 정리해 둔 글도 있더라구요.
행복을 찾기 위한 우리의 여정,
쿠팡의 MSA — Part 1
medium.com
참고할 사이트:
lion-king.tistory.com/entry/MSA-distributed-transaction
(MSA 분산 트랜잭션) 주문-재고관리 어떻게 하지?
MSA 분산 트랜잭션 MSA distributed transaction 일반적으로 온라인 커머스 서비스를 하고, 재고가 존재하는 상품을 판매 한다면 주문 - 재고차감- 결제 등의 프로세스가 필요할 것이다. 위 프로세스는 일
lion-king.tistory.com
행복을 찾기 위한 우리의 여정,
쿠팡의 MSA — Part 1
medium.com
MSA에서 메시징 트랜잭션 처리하기 | Popit
비동기 메시지를 사용하여 상호 간에 통신하는 방식을 메시징 Messaging[1] 이라고 부른다. 마이크로서비스 환경에서 비동기 처리 시 보통 카프카 Kafka 나 래빗엠큐 RabbitMQ 같은 메시지 브로커 Message
www.popit.kr
MSA 제대로 이해하기 -(1) MSA의 기본 개념
lego-708086_1920.jpg 마이크로 서비스 아키텍쳐를 한마디로 다음과 같이 표현할 수 있습니다. "하나의 큰 어플리케이션을 여러개의 작은 어플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아
velog.io
jaehue.github.io/post/how-to-use-golang-context/
'코딩해 > 개발개발 이것저것' 카테고리의 다른 글
[API] 일상 속 사물이 알려주는 웹 API 디자인 #2 (0) | 2022.04.01 |
---|---|
[API] 일상 속 사물이 알려주는 웹 API 디자인 #1 (0) | 2022.03.29 |
[kafka] 토픽 파티션 갯수 | 카프카 (0) | 2022.02.14 |
[Windows] 윈도우 백그라운드 실행 프로그램 확인/종료 (0) | 2021.10.28 |
[Mac | Linux] jps 자바 프로세스 확인 | feat. Hadoop jps 확인 (0) | 2021.04.25 |