Kafka (2) 썸네일형 리스트형 [kafka] consumer 동작 원리 및 tuning configuration(logstash) kafka consumer의 동작 원리 와 tuning configuration을 logstash kafka input plugin을 통해 알아본다. 우선, kafka의 목적을 정확히 이해해야 한다. Kafka는 버퍼의 기능이 있는데, push 방식이 아닌 consumer의 역량에 맞게 데이터를 가져가는 pull 방식을 취하고 있다. 무슨 뜻이냐면, request가 kafka broker에서 시작되는게 아니고 consumer에서 시작된다는 뜻이다. 데이터를 가지고오는 request를 poll이라고 하고, 보통 for 루프 안에 이 poll을 넣어 consumer의 로직을 구현한다. 이를 수도코드로 표현하면 이해하기가 더 쉬운데, for { data := consumer.poll() // data는 배열,.. [Kafka] producer 동작 원리(kafka advertised_listener, kafka dns lookup) 현업에서 Kafka client와 broker를 연결하기 위해 알아야 할 점들에 대해 살펴본다. 설명을 돕기 위해 kafka go client 중 Shopify/sarama 라이브러리를 사용하였다. 1. Kafka cluster에 대한 metadata 요청. brokers := []string{"1.2.3.4:9092", "1.2.3.5:9092"} config := sarama.NewConfig() producer, _ := sarama.NewAsyncProducer(brokers, config) 보통 위와 같이 broker 및 config에 대한 정보를 설정하고 NewProducer를 통해 metadata를 가져온다. kafka client는 전달받은 brokers slice를 순차적으로 탐색하며 m.. 이전 1 다음