-
Apache kafkadev/kafka 2020. 9. 24. 10:20
home
Apache Kafka
Apache Kafka: A Distributed Streaming Platform.
kafka.apache.org
소개글
[Apache Kafka] 1. 소개및 아키텍처 정리
Apache Kafka(아파치 카프카)는 LinkedIn에서 개발된 분산 메시징 시스템으로써 2011년에 오픈소스로 공개되었다. 대용량의 실시간 로그처리에 특화된 아키텍처 설계를 통하여 기존 메시징 시스템보��
epicdevs.com
kafka-node
SOHU-Co/kafka-node
Node.js client for Apache Kafka 0.8 and later. Contribute to SOHU-Co/kafka-node development by creating an account on GitHub.
github.com
kafkajs
KafkaJS · KafkaJS, a modern Apache Kafka client for Node.js
KafkaJS, a modern Apache Kafka client for Node.js
kafka.js.org
kafkacat
kafka cli tool(linux/mac/windows)
edenhill/kafkacat
Generic command line non-JVM Apache Kafka producer and consumer - edenhill/kafkacat
github.com
Kafka Listeners – Explained
https://www.confluent.io/blog/kafka-listeners-explained/
Kafka Listeners – Explained | Confluent
You need to set advertised.listeners (or KAFKA_ADVERTISED_LISTENERS if you’re using Docker images) to the external address (host/IP) so that clients can correctly connect to it. Otherwise, they’ll try to connect to the internal host address—and if th
www.confluent.io
kafka client cannot connect to broker on aws on docker etc
왜 kafka 에 연결이 안되는가?
www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
Why Can’t I Connect to Kafka? | Troubleshoot Connectivity
How to troubleshoot connectivity between Kafka clients (Python, Java, Spring, Go, etc.) to Kafka on Docker, AWS, or any other machine.
www.confluent.io
consumer 에서 가져오는 메시지 최대 크기 조절로 한번에 fetch 되는 메시지 개수 조절
consumer 를 pause 하더라도 현재 fetch 된 메시지는 계속해서 consume 으로 전달됨
각 메시지를 처리하는 작업이 단방향이면 상관없지만 처리된 결과를 또 다른 채널을 통해 받고 그 후 다음 메시지를 처리해야 한다면 계속해서 전달되는 메시지를 메모리에 쌓아두었다가 앞 작업 완료 통보를 받은후 하나씩 꺼내서 작업을 해야할수도 있다. 만약 메시지 하나의 크기가 크다면 메모리 사용량을 고려해야 하므로 max byte 파라메터를 적절히 조절해야한다. 너무 작은 값을 사용하면 순차적 처리는 쉽지만 자주 topic 을 poll 해야하므로 효율이 떨어지고, 너무 큰 값은 메모리로 적재해두어야 할 데이터가 많아지게 된다.
docker 로 kafka 를 사용할때 connection 안될때
os 에서 구동되는 서비스, 프로세스중 kafka 구동에 필요한 port 를 이미 사용중일경우 발생할 수 있음.
사용중인 port 와 연결된 프로세스를 확인하고 종료하거나 포트 변경을 하여 문제를 해결할 수 있음.