카프카 프로듀서(2)
-
[🧙Kafka] 카프카 구축 (6) - 프로듀서로 카프카에 메시지 쓰기
About 카프카는 클라이언트 API를 가지고 있는데 이것을 사용해서 프로듀서와 컨슈머 어플리케이션을 개발할 수 있다. 카프카는 서드파티 클라이언트를 사용할 수 있는데 python, C++, go 등에서도 사용할 수 있다. 카프카는 처리량이 많은 작업에 사용될 수 있다. 예를 들면 웹사이트 클릭 로그를 수집하거나 신용카드를 사용한 거래 등에서 사용될 수 있다. 프로듀서에서 카프카 클러스터까지의 처리 방식 메시지 클래스인 ProducerRecord의 객체를 생성한다. 토픽과 값을 입력하는 것이 기본이고 파티션과 키는 옵션으로 지정할 수 있다. send() 함수를 이용해 Serializer에서 네트워크로 전송할 수 있는 Byte Array로 변환한다. 그 후 Partitioner에서 메시지를 어떤 파티션으로..
2021.04.08 -
[🧙Kafka] 카프카 구축 (3) - 카프카 클러스터 REST API로 사용하기
About 카프카 구축 (1) 과 카프카 구축 (2) 에서 구축했던 카프카 클러스터는 각자 다른 host를 가지고 있기 때문에 프로듀서가 카프카로 요청을 보낼 때 어디로 보내야 할 지 확실하지가 않다. 프로듀서에서 카프카 클러스터 중 하나의 브로커로 보낸다고 했을 때 그 브로커가 어떠한 문제로 종료되면 요청을 보낼수가 없다. 그래서 하나의 엔드포인트가 필요하다. 엔드포인트에 요청을 보내면 문제가 생긴 인스턴스가 아닌 곳으로 요청을 보내 처리할 수 있도록 고가용성을 확보할 수 있다. 직접 REST API를 만드려고 했으나 Confluent에서 오픈소스로 지원해주어서 사용하여 구축하려고 한다. Confluent의 기능을 사용할 수 있는 방법은 두가지가 있다. Confluent Platform 과 Conflu..
2021.04.07