클로드스킬마트스킬 둘러보기바로 쓰는 문장영상으로 배우기터미널 사용법스킬이 뭐예요?
목록으로

이벤트 기반 메시징 (Spring Boot 3)

Spring Boot 3에서 Kafka·RabbitMQ·Pulsar·JMS 프로듀서/컨슈머를 이벤트 계약, 멱등성, 재시도, DLQ, 아웃박스 원칙에 맞게 구현하도록 안내하는 스킬.

개발·코딩고급25740AI 점수 7/10마지막 업데이트: 2026. 8. 14.

무엇을 해주나

Claude가 Spring Boot 3 메시징 코드를 만들거나 리뷰할 때 따라야 할 규칙 세트를 주입합니다.

  • 이벤트 계약: eventId, eventType, occurredAt, schemaVersion + payload로 구성된 불변 엔벌로프 사용, 스키마를 API처럼 하위 호환 유지, 상관관계(correlation)·인과(causation) ID를 헤더/엔벌로프에 배치
  • 프로듀서: 상태 변경이 영속화된 뒤 발행, DB와 브로커 정합성이 필요하면 트랜잭셔널 아웃박스, 집합체 단위 순서가 중요하면 결정적 파티션 키, delivery timeout·ack 명시
  • 컨슈머: 처리 이력 테이블 또는 본질적 멱등 쓰기로 핸들러 멱등화, 상태 변경과 멱등 마커를 한 트랜잭션에, 일시/영구 실패 분류 후 백오프 제한 재시도, 독성 메시지는 DLQ로 (원본·실패 사유·시도 횟수 보존)
  • 테스트: 직렬화 호환성, 멱등성, Testcontainers 브로커 통합 테스트, 중복·순서 뒤바뀜·지연·독성 메시지 시나리오
  • 함정 목록: "브로커가 트랜잭션을 지원하니 exactly-once"라는 착각, 검증 실패 무한 재시도, 아웃박스 없이 DB 트랜잭션 안에서 발행, 랜덤 파티션 키, JPA 엔티티로 직접 역직렬화 등

이런 분께 추천

  • Kafka/RabbitMQ 기반 마이크로서비스를 운영하는 Spring Boot(Java/Kotlin) 백엔드 개발자
  • 중복 처리, 메시지 유실, 순서 깨짐 이슈로 고생 중인 팀
  • 메시징 코드 리뷰 기준을 팀 공통 규칙으로 고정하고 싶은 테크 리드

활용 예시

  1. "주문 생성 시 OrderCreated 이벤트를 Kafka로 발행해줘" → 아웃박스 테이블 + 스키마 버전이 붙은 엔벌로프 형태로 구현 제안
  2. "이 @KafkaListener 코드 리뷰해줘" → 멱등성 마커 부재, 재시도 무한 루프, DLQ 미설정 지적
  3. "결제 컨슈머 통합 테스트 작성해줘" → Testcontainers로 브로커를 띄우고 중복·지연·독성 메시지 케이스 테스트 생성

· · · 설치 가이드 · · ·

설치 없이 지금 한 번 써보기

아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.

이 파일의 지시를 읽고 그대로 따라서 나를 도와줘:
https://raw.githubusercontent.com/rrezartprebreza/spring-boot-skills/HEAD/skills/spring-boot-3/event-driven-messaging/SKILL.md

내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)

Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.

쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.

Claude 앱에 설치 (터미널 필요 없음)
  1. 아래 버튼으로 ZIP 파일을 받으세요.
  2. Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
  3. Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
ZIP 내려받기
Claude Code에 설치

Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요

클로드스킬마트에서 찾은 스킬을 설치해줘.
GitHub 저장소 rrezartprebreza/spring-boot-skills 의 skills/spring-boot-3/event-driven-messaging 폴더를 내 ~/.claude/skills/event-driven-messaging/ 에 그대로 복사해줘.
설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.

직접 명령으로 설치하기

git clone https://github.com/rrezartprebreza/spring-boot-skills.git /tmp/sbs && mkdir -p ~/.claude/skills && cp -r /tmp/sbs/skills/spring-boot-3/event-driven-messaging ~/.claude/skills/

제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.

  1. 터미널을 열고 저장소를 클론합니다: git clone https://github.com/rrezartprebreza/spring-boot-skills.git
  2. 스킬 디렉터리를 만듭니다: mkdir -p ~/.claude/skills
  3. 이 스킬 폴더를 통째로 복사합니다(예시 파일까지 함께 옮겨야 합니다): cp -r spring-boot-skills/skills/spring-boot-3/event-driven-messaging ~/.claude/skills/
  4. ls ~/.claude/skills/event-driven-messaging 로 SKILL.md와 examples 폴더가 있는지 확인합니다.
  5. Claude Code를 재시작한 뒤, Spring Boot 프로젝트에서 "Kafka 컨슈머를 멱등하게 리팩터링해줘"처럼 요청하면 스킬이 자동 발동합니다.