크리트 패티
-
카프카 핵심 가이드 3 : 컨슈머책책책 책을 읽읍시다 2023. 6. 11. 01:23
카프카 컨슈머: 개념컨슈머와 컨슈머 그룹 카프카 토픽으로부터 메세지를 읽어서 몇 가지 검사를 한 후, 다른 데이터 저장소에 저장하는 애플리케이션을 개발해야 한다고 가정해 보자. 이 경우 애플리케이션은 컨슈머 객체(KafkaConsumer 인스턴스)를 생성하고, 해당 토픽을 구독하고, 메세지를 받기 시작한 뒤 받은 메세지를 받아 검사하고 결과를 써야 한다. 한동안이야 잘 작동하겠지만, 만약 프로듀서가 애플리케이션이 검사할 수 있는 속도보다 더 빠른 속도로 토픽에 메세지를 쓰게 된다면 어떻게 될까? 만약 데이터를 읽고 처리하는 컨슈머가 하나뿐이라면 애플리케이션은 새로 추가되는 메세지의 속도를 따라잡을 수 없기 때문에 메세지 처리가 계속해서 뒤로 밀리게 될 것이다. 따라서, 우리는 토픽으로부터 데이터를 읽어 ..
-
카프카 핵심 가이드 2 : 프로듀서책책책 책을 읽읍시다/프로그래밍 2023. 6. 9. 21:35
3. 카프카 프로듀서: 카프카에 메세지 쓰기카프카 프로듀서 생성하기 카프카에 메세지를 쓰려면 우선 원하는 속성을 지정해서 프로듀서 객체를 생성해야 한다. 카프카 프로듀서는 아래의 3개의 필수 속성값을 갖는다.bootstrap.servers 카프카 클러스터와 첫 연결을 생성하기 위해 프로듀서가 사용할 브로커의 host:port 목록이다. 이 값은 모든 브로커를 포함할 필요는 없는데, 프로듀서가 첫 연결을 생성한 뒤 추가 정보를 받아오게 되어 있기 때문이다. 다만 브로커 중 하나가 작동을 정지하는 경우에도 프로듀서가 클러스터에 연결할 수 있도록 최소 2개 이상을 지정할 것을 권장한다.key.serializer 카프카에 쓸 레코드의 키의 값을 직렬화하기 위해 사용하는 시리얼라이저(serializer) 클래스의..