본문 바로가기

Programming/Kafka

(3)
카프카 컨슈머에서 poll() 을 요청하면 어떤 일이 일어날까 컨슈머 poll 이 어떤 방식으로 진행되는지 테스트 후 동작방식을 정리해보겠다. 테스트 조건 partition 0 과 partition 1 에 각각 데이터가 20개씩 들어있는 상황 결과 여기서 limit=10 으로 데이터를 컨슈밍했었다면? ✔️ 10개 데이터가 모두 partition 0 or partition 1 에서 컨슈밍 limit=20 으로 데이터를 컨슈밍했었다면? ✔️ 20개 데이터가 모두 partition 0 or partition 1 에서 컨슈밍 limit=21 이상으로 데이터를 컨슈밍했었다면? ✔️ 20개 데이터는 모두 partition 0 or partition 1 에서 컨슈밍 ✔️ 그리고 나머지 1 이상은 또 다른 파티션에서 컨슈밍해온다. Fetch, Poll 컨슈머가 카프카 브로커에서 ..
Kafka Rebalancing 의 이해와 동작 과정 카프카 컨슈머 그룹을 구성하여 데이터를 처리하게 된다면, 운영 상황에서 다양한 경우의 수를 마주할 수 있다. 그룹에 참여하는 컨슈머 클라이언트 구성에 변화가 생길 경우 이 변화를 반영하기 위해 카프카에서는 일련의 과정이 필요한데, 이걸 rebalancing (리벨런싱) 이라고 한다. 이번 포스팅에서는 카프카 컨슈머 그룹과 리벨런싱에 대해 이해해보고, 리벨런싱이 어떻게 동작하는지 정리해보겠다. 그 전에, 이 내용들은 카프카 아키텍쳐를 먼저 알고 있어야 할 것 같은데, 필요하다면 이 링크 글을 참고하길 바란다. -> https://joooootopia.tistory.com/29 Apache Kafka 의 기본 아키텍쳐 Apache Kafka 아파치 카프카(Apache Kafka)는 분산 메시지 스트리밍 플랫..
Apache Kafka 의 기본 아키텍쳐 Apache Kafka 아파치 카프카(Apache Kafka)는 분산 메시지 스트리밍 플랫폼이며 데이터 파이프 라인을 구성할 때 많이 사용된다. 카프카는 대용량 실시간 로그처리에 특화되어 개발된 오픈소스인 만큼, 분산 및 복제 구성과 더불어 Fault-Tolerant 한 안정적인 아키텍처와 빠른 성능으로 데이터를 처리할 수 있다. 서비스에서 사용하고 있던 리소스 공간은 서비스의 로직과는 별개로, 상황에 따라 필요가 없어질 수도 있고 확장이 필요할 수도 있다. 또한 최근 등장하고 있는 다양한 서버 디바이스 특성에 따라 비동기 메시징 프레임워크를 기반으로 통신할 필요가 있을 수 있다. (예를 들면 디바이스가 가진 네트워크 커넥션이 탄탄하지 못하기 때문에 네트워크 지연 가능성을 고려해야하는 경우가 있겠다.) ..