Kafka
-
카프카 운영 - Partition Reassign개발자 라이프/카프카 2020. 1. 14. 20:52
들어가며 카프카의 파티션(partition)은 실제로 메세지에 대한 발행과 소비를 담당합니다. 그렇기 때문에 파티션의 수, 브로커 내의 파티션 위치, 파티션 복제 계수 등 파티션에 관련된 설정은 카프카 운영에 있어 가장 중요한 요소입니다. 이번 글은 브로커 내에 분포되어 있는 파티션들의 설정을 변경하는 파티션 재설정(partition reassign)하는 방법에 대해 다뤄봅니다. 들어가기에 앞서 주의사항이 있습니다. 파티션의 재설정은 컨슈머 리밸런싱 등 카프카 내부의 많은 작업을 유발합니다. 그렇기 때문에 정상적인 운영 중에는 재설정을 추천하지 않습니다. Partition Reassign 파티션 재설정에는 파티션의 브로커 위치와 복제 계수를 변경할 수 있습니다. 본 글에서는 브로커 위치를 변경해보는 것을..
-
카프카 운영 - Preferred Replica Election개발자 라이프/카프카 2020. 1. 14. 20:21
들어가며 브로커의 장애는 카프카 운영에서 발생하는 가장 흔한 장애입니다. 이번 글은 브로커 장애로 발생할 수 있는 복제 파티션의 역할 변경과 Preferred Replica Election 방법에 대해 설명합니다. Preferred Replica Election Leader & Follower 토픽은 파티션 단위로 나눠지고, 파티션은 복제 계수(replication factor)에 따라 복제 파티션을 구성합니다. 복제 파티션들은 하나의 Leader(리더)와 그 외의 Follower(팔로워) 형태로 역할을 나눠 구성합니다. 리더 파티션은 복제된 파티션 중 유일하게 메세지 쓰기와 읽기 작업을 담당하여 수행하며, 팔로워들은 리더가 쓰기 작업을 완료한 메세지들을 복제(replication)합니다. 혹시 모를 장..
-
[Kafka 101] 컨슈머 그룹 리밸런싱 (Consumer Group Rebalance)개발자 라이프/카프카 2020. 1. 14. 20:11
들어가며 카프카를 운영하다 보면 여러 상황을 맞이하게 됩니다. 특히 성능 향상을 위해 특정 토픽의 파티션 수를 증가하거나 혹은 컨슈머 그룹에 컨슈머를 추가하는 경우가 있습니다. 하지만 운영 중인 카프카에 위와 같은 작업을 아무런 인정사정없이(?) 실시하면 일시적인 메시지 처리 불가 등 예상치 못한 상황을 맞이할 수 있습니다. 이와 관련된 것이 리밸런싱(Rebalance, Rebalancing)입니다. 본 글에서는 리밸런싱에 대해 알아보고, 어떤 상황에서 발생하는 지 알아봅니다. 그리고 나아가 관련한 유의점에 대해 설명합니다. Consumer Group Rebalance 1. 리밸런싱이란? 컨슈머 그룹 내의 컨슈머들은 자신들이 읽는 파티션의 소유권을 공유합니다. 즉, 하나의 컨슈머 그룹에서 컨슈머 A가 담..