배포한 서버 구조

WAS·2026년 5월 22일

사이드프로젝트

목록 보기
4/5

✅ 인프라 구조 (Docker + Spring Boot)

💡 Zookepper 역할

Kafka 브로커들 관리하는 역할을 한다.
주로 "어떤 토픽이 있는지" , "리더가 누구인지" 같은 메타 데이터를 관리

Kafka 3.3+ 부터는 KRaft 모드라고 Zookeeper 없이 단독 실행 가능한 버전이 나왔다


✅ Redis , Kafka, ElasticSearch 접근하기

  • Elasticsearch 데이터 확인
# 1️⃣ 인덱스 목록 + 문서 수 확인
curl http://localhost:9200/_cat/indices?v

# 2️⃣ 상품 데이터 전체 조회
curl http://localhost:9200/products/_search?pretty
💡 ?pretty → JSON 결과를 보기 좋게 들여쓰기 해주는 옵션

# 3️⃣ 키워드 검색
curl "http://localhost:9200/products/_search?q=검색어&pretty"

# 4️⃣ ES 서버 상태 확인 (접속 됐는지)
curl http://localhost:9200

  • Redis 데이터 확인
# 1️⃣ Redis CLI 접속 (여기서부터 대화형 모드)
docker exec -it redis redis-cli


# 2️⃣ 접속 후 사용할 수 있는 명령어
KEYS *            → 전체 키 목록
GET 키이름        → 특정 키 값 조회
TTL 키이름        → 만료 시간 확인
                     -1 : 영구 보관
                     -2 : 존재하지 않는 키
HGETALL 키이름    → Hash 타입 전체 조회 (쿠폰 재고 등)
exit              → Redis CLI 종료

  • Kafka 데이터 확인
# 1️⃣ 토픽 목록 확인
docker exec kafka kafka-topics \
  --bootstrap-server localhost:9092 --list

// 현재 등록된 토픽 → chat-messages / coupon-issued

# 2️⃣ 토픽 메시지 조회 (최근 10)
docker exec kafka kafka-console-consumer \
  --bootstrap-server localhost:9092 \
  --topic chat-messages --from-beginning --max-messages 10

# 3️⃣ 컨슈머 그룹 처리 현황 확인
docker exec kafka kafka-consumer-groups \
  --bootstrap-server localhost:9092 \
  --group chat-group --describe
  
LAG = 0       → ✅ 정상 (모든 메시지 처리 완료)
LAG = 큰 숫자 → ⚠️ 처리 못한 메시지 쌓이는 중
서비스접속 방식특징
Elasticsearchcurl (HTTP)접속 없이 바로 조회, REST API
Redisredis-cli 접속 후 명령어대화형, exit로 나옴
Kafkadocker exec + 명령어컨테이너 안에서 직접 실행
profile
우측 상단 햇님모양 클릭하셔서 무조건 야간모드로 봐주세요!!

0개의 댓글