msa/spring/kafka 이벤트 병합

msa/spring/kafka 이벤트 병합

작성일 2024.03.25댓글 0건
    게시물 수정 , 삭제는 로그인 필요

홈쇼핑 플랫폼을 예시로 합니다.

한 판매자가 올린 "식용유"라는 상품번호 35번이 있습니다.

"식용유"에는 다음 3개의 항목이 포함됩니다
- 가격
- 상품분류
- 재고

하나의 항목마다 하나의 서버를 가지고 있습니다. 이 경우는 총 3개의 서버가 각 항목을 담당합니다.

판매자는 3개의 항목을 전부 변경합니다.

3개의 갱신 요청을 각 서버에서 처리하고 응답을 반환합니다.

server1/server2/server3 - kafka(sink connector) - mongodb

이 구조에서 3개의 kafka event가 생기므로 3번의 db연결 및 update 과정이 필요합니다.

이 대신, 상품번호 35번을 식별자로 3개의 update요청을 묶어서 하나의 event로 만들고 싶습니다.

이렇게 한다면 1번의연결 및 update 과정이 일어날 것입니다.


----------------------------------------------

이 로직을 어떻게 구현해야 할 지 모르겠습니다.

- 요청을 통합하는 별도의 서버를 또 둔다면, kafka를 사용하는 이점을 일부 잃는다고 생각합니다.

- spring batch등을 이용하여 kafka대신 직접 메세지 큐 서버를 구현하는 것도 힘든 상황입니다.

- kafka stream api를 이용하더라도 집계 상황(상품번호 35번에 3개중 2개의 갱신요청이 등록됨)을 읽기위해 별도로 또 통신해야 할 것 같습니다.



별도의 서버 없이 kafka 내에서 요청을 통합하는 방법이 있나요? 아니면 다른 좋은 방법이 있나요?