본문 바로가기

Producer2

Kafka - Producer 메시지 분배 전략(파티셔닝 전략)과 배치(feat. 하나의 파티션으로만 메시지가 전송된다?) 들어가기  Spring boot와 Kafka를 같이 사용하는 토이 프로젝트를 진행 중이었다.Kafka ui 툴을 통해서 메시지가 잘 전송이 되나~ 확인하려고 했는데 내 눈을 의심하였다...어째서 파티션 하나로만 메시지가 전송된거지?? Kafka를 공부했을 때는 파티션을 돌아가면서 메시지가 전송된다고 했는데? 처음에 당혹함을 감추지 못하였지만, 찾아보니 이는 단순한 이유였다. 공부했었던 파티션에 균등하게 분배하는 것은 파티션 분배 전략 중 라운드로빈(Round-Robin) 방식이고, 특정 파티션에 레코드를 축적하다가, 일정량이 채워지면 다른 파티션으로 이동하는 것이 스티키(Sticky) 방식이라고 한다. 스티키 방식은 파티션 전환 비용을 줄이고, 네트워크의 효율성을 높이며, 레코드의 일괄 전송(batch .. 2024. 6. 6.
카프카(Kafka)를 스프링부트와 함께 사용해보자! 들어가기 최근 모놀리식 아키텍처와 MSA( MircroService Architecture)에 대해 공부를 하였다. 모놀리식 아키텍처는 하나의 애플리케이션 안에 서비스의 모든 부분을 담아서 개발을 하는 것이고, MSA는 서비스의 기능별로 다른 서버를 두어 각각의 애플리케이션으로 개발하는 것이다. 이러한 MSA는 기능별로 독립된 서버이기에 서로의 의존성을 낮추고 나눠서 개발할 수 있으며, 단위테스트가 용이하다는 장점이 있다. 단점으로는 모놀리식 아키텍처보다 훨씬 복잡하다는 점이 있다. 그렇다면 MSA 방식으로 기능을 구현한 애플리케이션들 간에는 어떻게 소통이 이루어질 수 있을까? gateway를 통해 서로 간의 api를 호출하는 방식이 있고 메시지를 주고받아 소통을 하는 방식이 있다고 한다. 메시지 처리 .. 2023. 12. 14.