Apache Kafka란?Kafka Broker 란?Zookeeper 연동Controller 정보 저장Broker 중 1대는 Controller 역할 수행Broker에게 담당 파티션 할당 수행 및 Broker 정상 동작 모니터링 관리🔗 다운로드 링크: https://kafka.apache.org/
$ {kafka_path}/bin/zookeeper-server-start.sh {kafka_path}/config/zookeeper.properties
👇 기동 로그

➡ port 번호: 2181
$ {kafka_path}/bin/kafka-server-start.sh {kafka_path}/config/server.properties
👇 기동 로그

➡ port 번호: 9092
{kafka_path}/bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
👇 기동 로그

➡ 등록된 토픽이 없음을 확인
$ {kafka_path}/bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic quickstart-events --partitions 1
👇 추가 결과

🤔 partitions 이란?
- 개념
1.Kafka에서 토픽을 여러 파티션으로 나누는 개념
2. 파티션은Kafka클러스터 내에서 메시지가 분산되고 병렬 처리될 수 있는 단위
3.--partitions옵션은 생성하려는 토픽에 대해 몇 개의 파티션을 만들 것인지를 지정- 특징
1. 병렬 처리: 여러 파티션을 만들면, 각 파티션에 저장된 데이터를 병렬로 처리가 가능하여Kafka클러스터의 성능을 크게 향상
2. 확장성:Kafka는 파티션을 여러 서버에 분산하여 저장할 수 있기 때문에, 파티션 수가 많으면 클러스터 확장에 유리
3. 내구성:Kafka는 각 파티션에 대해복제(replication)를 설정할 수 있어, 여러 복제본을 통해 데이터를 내구성 있게 관리 가능
4. 메시지 순서 보장: 각 파티션 내에서는 메시지가 들어오는 순서대로 저장되고, 소비자는 해당 순서를 보장 가능 (※ 파티션 간에는 순서가 보장되지 않음)
✅ 토픽의 상세 정보 확인
$ {kafka_path}/bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic quickstart-events
✅ 참고: 토픽 삭제
{kafka_path}/bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic {토픽명}
$ {kafka_path}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic quickstart-events
$ {kafka_path}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic quickstart-events --from-beginning

➡ Producer에서 작성된 텍스트(=메시지)가 Consumer에서 동일하게 출력됨
➡ --from-beginning 옵션을 통해 나중에 생성된 Consumer에서도 생성 이전의 Producer의 메시지를 다 볼 수 있음