✅ 구조 게시글 작성 API에서 사용할 활동 점수 적립 API를 만들어보자. ✅ 사용자 활동 점수 적립 API 만들기 user-service에서 코드 작성하기 User 엔티티 수정하기 Controller 만들기 Service 만들기 서버 다시 실행시키
✅ 구조 이 서비스는 게시글을 작성하려면 포인트가 필요한 서비스이다. 그래서 포인트 차감을 한 뒤에 게시글이 작성돼야 하고, 게시글 작성이 완료되면 사용자의 활동 점수가 적립되는 서비스이다. 아래 그림과 같이 작동하도록 코드를 작성해보자. ✅ 코드 작
✅ 추가 요구사항 회원가입 API 수정하기 게시글 작성 API 수정하기 ✅ 프로젝트 아키텍처 게시글을 작성하면 포인트를 적립할 수 있게 만들기 위해, MSA 구조에서 Point Service를 추가로 구축하자. 프로젝트의 심플함을 위해 Point Se
✅ 게시글 작성 API의 Saga 패턴이 잘 작동하는 지 테스트해보기 어떤 식으로 작동했는 지 추적하기 좋게 코드 추가하기 board-service 서버 다시 실행시키기 DB 데이터 정리하기 활동 점수 적립 API에 예외 코드 잘 있는 지 확인 게시글
✅ Saga 패턴이란? MSA 환경에서의 트랜잭션을 처리할 때 사용하는 패턴 중 하나가 Saga 패턴이다. Saga 패턴은 보상 트랜잭션을 활용해 ‘여러 작업을 하나의 트랜잭션으로 묶은 것’처럼 작동시키는 방식이다. ✅ 보상 트랜잭션이란? 보상 트랜잭
✅ Board Microservice 만들기 User Service는 만들었으니 마지막으로 남은 Board Service를 만들어보자. ✅ Spring Boot 프로젝트 셋팅 & DB 연결 Spring Boot 프로젝트 셋팅 application.ym
MSA 환경에서는 마이크로서비스끼리 통신을 해야 한다. 이 때, 통신 방식은 크게 동기와 비동기 방식으로 나뉜다. 이전까지 프로젝트에서 사용했던 REST API 기반의 통신 방식이 대표적인 동기 통신 방식이 있다. 그리고 Kafka와 같은 메시지 큐를
✅ API Gateway를 활용해 클라이언트가 접근할 API 제한하기 이전 강의에서 클라이언트가 사용하는 외부용 API와 마이크로서비스 내부에서만 사용하는 내부용 API를 분리했다. 이 구성에서 클라이언트는 내부용 API에 접근할 수 없게 막아야 한다
✅ Saga 패턴을 구현할 때 고려해야 할 요소 (멱등성, 동시성 이슈, 시맨틱 락) 지금까지 Saga 패턴의 개념을 이해하고 Saga 패턴을 직접 구현해봤다. 하지만 Saga 패턴을 더 꼼꼼하고 완벽하게 구현하려면 고려해야 하는 요소들이 훨씬 많다.
✅ 특정 게시글 조회 API 만들기 board-service에서 아래 코드 작성하기 Response DTO 만들기 user-service의 API와 통신할 코드 작성하기 Service 로직 작성하기 Controller 로직 작성하기 서버 재실행시킨 후