consumer
-
컨슈머 오프셋 관리컨슈머의 오프셋의 역할은 메시지의 위치를 나타내는 것입니다오프셋이 중요한 이유는 컨슈머가 일시적으로 동작을 멈추고 재시작하는 경우에 새로운 컨슈머가 기존 컨슈머의 역할을 대신하는 경우에 기존 컨슈머의 마지막 메시지 위치부터 새로운 컨슈머가 메시지를 가져오기 때문입니다토픽에 저장하여 관리 그룹 코디네이터컨슈머 그룹이 구독한 토픽의 파티션들과 그룹의 멤버들을 트래킹 스태틱 멤버십(Static Membership)컨슈머 그룹 내에서 컨슈머가 재시작 등으로 컨슈머 그룹에서 나갔다가 다시 합류하더라도 리밸런싱이 일어나지 않게 하는 기능group.instance.id값을 컨슈머를 식별하기 위한 고유값을 입력default : null스태틱 멤버십 또한 session.timeout.ms 시간을 넘어갈..
[Kafka] Consumer 내부 동작 원리컨슈머 오프셋 관리컨슈머의 오프셋의 역할은 메시지의 위치를 나타내는 것입니다오프셋이 중요한 이유는 컨슈머가 일시적으로 동작을 멈추고 재시작하는 경우에 새로운 컨슈머가 기존 컨슈머의 역할을 대신하는 경우에 기존 컨슈머의 마지막 메시지 위치부터 새로운 컨슈머가 메시지를 가져오기 때문입니다토픽에 저장하여 관리 그룹 코디네이터컨슈머 그룹이 구독한 토픽의 파티션들과 그룹의 멤버들을 트래킹 스태틱 멤버십(Static Membership)컨슈머 그룹 내에서 컨슈머가 재시작 등으로 컨슈머 그룹에서 나갔다가 다시 합류하더라도 리밸런싱이 일어나지 않게 하는 기능group.instance.id값을 컨슈머를 식별하기 위한 고유값을 입력default : null스태틱 멤버십 또한 session.timeout.ms 시간을 넘어갈..
2024.09.02 -
Producer 주요 옵션OptionDescriptionbootstrap.servers카프카 클러스터는 클러스터 마스터라는 개념이 없으므로, 클러스터 내 모든 서버가 클라이언트의 요청을 받을 수 있음. 클라이언트가 카프카 클러스터에 처음 연결하기 위한 호스트와 포트정보client.dns.lookup하나의 호스트에 여러 IP를 매핑해 사용하는 일부 환경에서 클라이언트가 하나의 IP와 연결하지 못할 경우에 다른 IP로 시도하는 설정.use_all_dns_ips 기본값- DNS에 할당된 호스트의 모든 IP를 쿼리하고 저장. - 첫 번째 IP로 접근 실패 시, 종료하지 않고 다음 IP로 접근 시도. resolve_canonical_bootstrap_servers_only - Kerberos 환경에서 FQDN을 ..
[Kafka] Producer&Consumer 주요 옵션Producer 주요 옵션OptionDescriptionbootstrap.servers카프카 클러스터는 클러스터 마스터라는 개념이 없으므로, 클러스터 내 모든 서버가 클라이언트의 요청을 받을 수 있음. 클라이언트가 카프카 클러스터에 처음 연결하기 위한 호스트와 포트정보client.dns.lookup하나의 호스트에 여러 IP를 매핑해 사용하는 일부 환경에서 클라이언트가 하나의 IP와 연결하지 못할 경우에 다른 IP로 시도하는 설정.use_all_dns_ips 기본값- DNS에 할당된 호스트의 모든 IP를 쿼리하고 저장. - 첫 번째 IP로 접근 실패 시, 종료하지 않고 다음 IP로 접근 시도. resolve_canonical_bootstrap_servers_only - Kerberos 환경에서 FQDN을 ..
2024.08.08 -
Spring-Kafka를 이용하여 Consumer를 구현하게 되면, 보통 @KafkaListener를 많이 사용한다. @KafkaListener( topics = "testTopic1", groupId = "test-consumer-group1", concurrency = "1" ) public void test(Message message) { //... } @KafkaListener의 설정 중에 concurrency라는 설정을 알아보자. 해당 설정은 consumer의 thread 개수를 지정하는 값이다. 그렇다면, 하나의 consumer에서 동시에 여러 message를 처리할 수 있도록 thread를 늘리면 좋을 것이라는 생각이 드는데, thread 개수를 늘린다고 무조건 처리량이 좋아지는 것은 아니..
[Kafka] Spring Kafka Listener Concurrency 설정Spring-Kafka를 이용하여 Consumer를 구현하게 되면, 보통 @KafkaListener를 많이 사용한다. @KafkaListener( topics = "testTopic1", groupId = "test-consumer-group1", concurrency = "1" ) public void test(Message message) { //... } @KafkaListener의 설정 중에 concurrency라는 설정을 알아보자. 해당 설정은 consumer의 thread 개수를 지정하는 값이다. 그렇다면, 하나의 consumer에서 동시에 여러 message를 처리할 수 있도록 thread를 늘리면 좋을 것이라는 생각이 드는데, thread 개수를 늘린다고 무조건 처리량이 좋아지는 것은 아니..
2024.02.28