Spring Boot Kafka 3

Amazon MSK - 보상 트랜잭션 예

개요 이번 포스팅은 Choreography 기반의 Saga 패턴을 실습해 보기 위해 구성되었으며 Spring Boot와 AWS의 MSK(Managed Streaming for apache Kafka) 기반으로 구성되었습니다. 아키텍처 빠른 예제와 비용 최적화를 위해 1개의 EC2 인스턴스에서 2개의 서비스(Spring Boot 기반)를 서로 다른 포트로 실행시켜 두대의 서버에서 운영하는 방식으로 예제를 구성했습니다. Amazon MSK(Managed Streaming service for apache Kafka)는 2대의 브로커를 구성할 예정입니다. 유즈케이스 다이어그램 두대로 구성되는 스프링 부트 서비스는 Customer와 Order로 구성되어 있습니다. - 커스터머는 등록시 이름과 CreditLimi..

Spring Boot를 이용한 Kafka Pub Sub 개발

Kafka Pub Sub 모델 링크드인(Linkedin)은 초창기 Point to Point 구조를 이용해 시스템간 데이터 전송을 사용하다가 증가하는 메시지 전송에 대해 대응을 하지 못했다. Linkedin은 이 문제를 해결하기 위해 메시지 전송을 전용 시스템을 중앙에 두고 운영하는 Hub and Spoke 방식의 메시지 전송 시스템을 구성하였다. 그리고 그들이 만든 이 메시지 전송 시스템이 우리가 아는 Kafka이다. Kafka를 이용한 Hub and Spoke 시스템을 Pub(Publish) Sub(Subscribe) Model이라 지칭하고 이를 그림으로 설명 표현하면 다음과 같다. Producer(Publish) Publish 역할을 하는 서비스는 카프카에게 전송만하게 되고 수신자가 누구인지 알 필..

Spring Boot에서 Apache Kafka 사용 ... 1/2

아파치 카프카(Apache Kafka)는 분산 스트리밍 플랫폼이며 데이터 파이프 라인을 만들 때 주로 사용되는 오픈소스 솔루션입니다. 이러한 카프카는 대용량의 실시간 로그처리에 특화되어 있는 솔루션이며 데이터를 유실 없이 안전하게 전달하는 것이 주목적인 메세지 시스템에서 Fault-Tolerant한 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리하는 용도로 사용되고 있습니다. 최근 MSA에서는 Pub/Sub 구조를 통한 데이터 동기화 솔루션으로 RabbitMQ와 함께 많이 사용되고 있습니다. Apache Kafka의 특징 1. Pub/Sub 모델 : Publishe/Subscriber 모델은 데이터 큐를 중간에 두고 서로 간 독립적으로 데이터를 생산하고 소비하는 모델. 이런 느슨한 결합을 통해 Publ..

반응형