카프카
카프카
사용 이유
AirBnb와 같은 순차 처리가 중요한 애플리케이션에서 자주 사용한다. LinkedIn처럼 복잡한 서비스를 사용할 때 카프카를 이용해 느슨한 결합을 구현
사용 사례
- 실시간 수집 정보 대쉬보드
- 순서가 중요한 주문 처리
- 배달 주문 취소
- 카프카로 실시간 로그 전송 후 ElasticSearch에서 분석
테스트용 카프카 도커로 설치하기
- docker compose 파일 작성 후
docker compose up -d
name: myProject
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.12-2.5.0
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- 카프카 bash 접속
- Docker Desktop 사용
- CMD에서
docker exec -it kafka/bin/bash
로 접속
- 토픽 생성
kafka-topics.sh --create --topic price-match --bootstrap-server localhost:9092
- 토픽 확인
kafka-topics.sh --bootstrap-server localhost:9092 --list
- Produc된 메시지 확인
kafka-console-consumer.sh --topic price-match --bootstrap-server localhost:9092 --from-beginning