개발은 재밌어야 한다
article thumbnail
Apache Kafaka의 주요 요소 - Consumer
Kafka 2022. 7. 15. 14:47

Consumer Offset 해당 Consumer가 읽은 파티션의 위치의 그 다음번째를 저장한다. 위의 예시로 Consumer Group A가 MyTopic 파티션에서 2번째에 있는 위치를 가져가서 사용을 했다면 그 다음 읽어갈 위치인 3번째의 위치를 저장합니다. 카프카의 내부 인터널 토픽에 저장을 한다(Topic __consumer_offsets) 컨슈머가 하나이고 해당 컨슈머가 모든 파티션의 데이터를 읽어간다하면 해당 컨슈머는 모든 파티션의 모든 레코드를 Consume한다. 동일한 컨슈머 그룹을 가지고 싶다면 group.id가 같기만 하면 된다. 위와 같은 경우 파티션4개, 컨슈머4개 이므로 각자 하나의 컨슈머에서 하나의 파티션을 consume할 수 있다. 멀티 컨슈머 그룹 다른 Consumer Gr..

article thumbnail
Apache Kafaka의 주요 요소 - Producer
Kafka 2022. 7. 15. 14:42

Producer Producer : 메세지를 생산(Produce)해서 Kafka의 Topic으로 메세지를 보내는 애플리케이션 Consumer: Topic의 메세지를 가져와서 소비(Consume)하는 애플리케이션 Consumer Group: Topic의 메세지를 사용하기 위해 협력하는 Consumer들의 집합 하나의 Consumer는 하나의 Consumer Group에 포함되며, Consumer Group 내의 Consumer들을 협력하여 Topic의 메세지를 병렬 처리함 Producer와 Consumer의 분리 (Decoupling) Producer와 Consumer의 기본 동작 방식 Producer와 Consumer는 서로 알지 못하며, Producer와 Consumer는 각각 고유의 속도로 Commi..

article thumbnail
Apache Kafaka의 주요 요소 - Broker, Zookeeper
Kafka 2022. 7. 12. 18:35

아파치 카프카의 주요 구성 요소는 주키퍼라고 하는 상위에 있는것과 아래의 카프카 클러스터로 구성되어 있습니다. 카프카 클러스터 내에는 여러개의 브로커들로 구성되어 있습니다. 카프카 브로커는 토픽과 파티션을 유지 및 관리를 해주는 소프트웨어 카프라 브로커란? 카프카 서버라고 부르기도 함 토픽 내의 파티션들을 분산, 유지 및 관리 각각의 브로커들은 ID로 식별됨 (단, ID는 숫자) 토픽의 일부 파티션들을 포함 → 토픽 데이터의 일부분을 갖을 뿐 데이터 전체를 갖고 있지 않음 카프카 클러스터 : 여러개의 브로커들로 구성됨 클라이언트는 특정 브로커에 연결하면 전체 클러스터에 연결됨 최소 3대 이상의 브로커를 하나의 클러스로 구성해야함 → 이왕이면 안정성을 위해서 4대 이상을 권장함 파티션도 번호를 가지고 있고..

article thumbnail
Apache Kafaka의 주요 요소 - Topic, Partition, Segment
Kafka 2022. 7. 12. 18:28

Apache Kafaka의 주요 요소 - Topic, Partition, Segment 토픽은 파일이나 디렉토리처럼 눈에 보이는게 아닌 논리적인 표현 Producer: 메세지를 생산(Produce)해서 Kafka의 Topic으로 메세지를 보내는 애플리케이션 Consumer: Topic의 메세지를 가져와서 소비(Consume)하는 애플리케이션 Consumer Group: Topic의 메세지를 사용하기 위해 협력하는 Consumer들의 집합 하나의 Consumer는 하나의 Consumer Group에 포함되며, Consumer Group 내의 Consumer들은 협력하여 Topic의 메세지를 분산 병렬 처리함 프로듀서와 컨슈머 동작방식 프로듀서와 컨슈머 애플리케이션은 서로 알지 못한다. 그저 각각의 고유의 ..