✅ 사용자 서비스에서 Kafka로부터 ‘게시글 작성 완료 이벤트’ 구독하기 사용자 서비스에 Kafka 의존성 추가하기 application.yml에 Kafka 연결을 위한 정보 작성하기 Kafka로부터 전달받을 메시지 객체 만들기 Kafka에 있는 메
✅ 참고 이전 섹션에서 데이터 생성 및 변경을 처리할 때, 여러 마이크로 서비스를 거쳐서 통신을 해야 하는 Case를 경험했다. 그리고 여러 마이크로 서비스를 거쳐서 처리하는 여러 작업을 하나의 트랜잭션처럼 묶기 위해서 Saga 패턴을 활용해서 코드를
✅ ‘외부용 API’와 ‘마이크로서비스간 통신용 API’ 구분하기 현재까지 프로젝트에서 아래의 API를 구현했다. [사용자 서비스] 회원가입 (POST /users/sign-up) - 외부용 API 특정 사용자 정보 조회 (GET /users/{use
✅ 잘 작동하는 지 테스트하기 테스트 전에 DB 데이터 정리하기 API 요청 보내기 성공적으로 잘 처리했는 지 DB 확인하기 ✅ 정리하기 설계했던 대로 사용자가 게시글 작성 API에 요청을 보냈을 때 ‘포인트 차감 → 게시글 작성’ 로직까지만 처리하고
✅ 구현할 기능 특정 게시글 조회 API 게시글 전체 조회 API
✅ 게시글 서비스에서 Kafka로부터 ‘회원가입 완료 이벤트’ 구독하기 board-service에서 아래 코드 작성하기 User 엔티티 만들기 UserRepository 만들기 사용자 정보 저장 Service 로직 만들기 application.yml에
✅ ‘데이터 동기화’를 활용한 게시글 조회 API 최적화하기 ‘게시글 조회 로직’을 구현할 때 위의 방식처럼 구현했었다. 위의 방식도 충분히 괜찮은 방식이지만, 게시글 조회 로직의 트래픽이 점차 증가하면서 사용자 서비스의 ‘사용자 DB’에 부담을 줄
✅ 어떻게 구현할 지 설계하기 이전 강의에서 아래와 같이 메시징 기반의 비동기 방식으로 통신을 해도 괜찮다고 설명을 했었다. 사용자가 게시글 작성 API에 요청을 보냈을 때, ‘포인트 차감 → 게시글 작성’ 로직까지만 확실하게 작동한 걸 확인하고 성공
✅ 프로젝트의 모든 API 잘 작동하는 지 테스트하기 현재까지 아래의 기능들을 구현해왔다. 잘 작동하는 지 전부 테스트해보자. 회원가입 API → 포인트 적립 로그인 API → JWT 토큰 발급 게시글 작성 API (JWT 토큰 검증) → 포인트 차감
✅ 게시글 작성 API에 Saga 패턴 적용시키기 아래 구조처럼 기존 게시글 작성 API에 Saga 패턴을 적용시켜보자. ‘게시글 작성 API’ 기존 로직의 문제점 확인하기 @Transactional 코드 제거하고, ‘게시글 저장’에 대한 보상 트랜잭