[MSA] SAGA pattern
2022. 12. 19. 13:44
개발/Spring
지난번 MSA 포스팅에 사용한 Outbox pattern글에 이어 SAGA pattern을 작성하려한다. MSA : Outbox Pattern MSA 아키텍처? 마이크로서비스아키텍처에 대한 화두가 널리 퍼진지 한 8년정도 된 것 같다. 대학교 1학년 때(2014년도)에 쿠버네티스에 대해 알게되어 도커컨테이너에 대해 공부했었던 기억이 있 flowlog.tistory.com Saga패턴 Saga 패턴은 간단히 말해 이벤트에 대한 보상트랜잭션을 발행할 수 있는 것이다. 가장 흔한 예로 주문서비스가 있는데, 재고-주문-결제 라는 하위 이벤트가 존재하게 된다. 이 때, 기존 프로세스라면 재고->주문->결제를 정상적으로 수행하는데 만약 결제에서 잔액부족의 이유로 결제취소가 이루어진다면 해당 주문건에 대한 트랜잭션 ..
[MSA] Outbox Pattern
2022. 11. 4. 13:58
개발/Spring
MSA 아키텍처? 마이크로서비스아키텍처에 대한 화두가 널리 퍼진지 한 8년정도 된 것 같다. 대학교 1학년 때(2014년도)에 쿠버네티스에 대해 알게되어 도커컨테이너에 대해 공부했었던 기억이 있는데, 인프라(infrastructure)영역은 쿠버네티스, 오픈시프트(redhat), 탄주(vmware) 등의 오케스트레이터를 통해 널리 사용하고 있는 것 같다. 그럼 이제 어플리케이션영역이 마이크로서비스화 되어야한다. 필자는 작년 한 해동안 마이데이터 제공자 API 프로젝트를 openshift 기반 환경에서 진행하였는데, redhat 기반이라 해당 플랫폼에서 제공하는 3scale(API G/W), rhsso(인증), Fuse, Jboss 를 사용하여 컨테이너를 운용했다. 하지만 마이데이터 제공자는 단순히 Rea..
[Spring Cloud] Zipkin(집킨) 분산 추적 해보기
2022. 10. 26. 23:43
개발/Spring
Zipkin(집킨)은 스프링클라우드에서 제공하는 분산추적 서비스이다. Zipkin(집킨)서버와 sleuth(슬루스)가 있으며 집킨서버는 데이터를 보관 및 웹대시보드를 제공하며, 슬루스는 로그 데이터들을 잘 처리하여 집킨에 보내는 역할이다. 집킨서버의 데이터 저장소는 - 인메모리 - mysql - 카산드라 - elasticSearch 로 설정할 수 있으며 별다른 설정이 없을 경우 인메모리(WAS)에 저장하게 된다. Zipkin 구동 간단히 도커를 통해 기동하며 port는 default 9411 을 사용한다. docker run -d -p 9411:9411 openzipkin/zipkin Pom.xml zipkin 사용을 위한 라이브러리 추가 위에서 설명했듯이 슬루스란 친구를 통해 데이터를 zipkin서버에..