✅ 게시글 작성 API의 Saga 패턴이 잘 작동하는 지 테스트해보기 어떤 식으로 작동했는 지 추적하기 좋게 코드 추가하기 board-service 서버 다시 실행시키기 DB 데이터 정리하기 활동 점수 적립 API에 예외 코드 잘 있는 지 확인 게시글
✅ Saga 패턴이란? MSA 환경에서의 트랜잭션을 처리할 때 사용하는 패턴 중 하나가 Saga 패턴이다. Saga 패턴은 보상 트랜잭션을 활용해 ‘여러 작업을 하나의 트랜잭션으로 묶은 것’처럼 작동시키는 방식이다. ✅ 보상 트랜잭션이란? 보상 트랜잭
MSA 환경에서는 마이크로서비스끼리 통신을 해야 한다. 이 때, 통신 방식은 크게 동기와 비동기 방식으로 나뉜다. 이전까지 프로젝트에서 사용했던 REST API 기반의 통신 방식이 대표적인 동기 통신 방식이 있다. 그리고 Kafka와 같은 메시지 큐를
✅ API Gateway를 활용해 클라이언트가 접근할 API 제한하기 이전 강의에서 클라이언트가 사용하는 외부용 API와 마이크로서비스 내부에서만 사용하는 내부용 API를 분리했다. 이 구성에서 클라이언트는 내부용 API에 접근할 수 없게 막아야 한다
✅ Saga 패턴을 구현할 때 고려해야 할 요소 (멱등성, 동시성 이슈, 시맨틱 락) 지금까지 Saga 패턴의 개념을 이해하고 Saga 패턴을 직접 구현해봤다. 하지만 Saga 패턴을 더 꼼꼼하고 완벽하게 구현하려면 고려해야 하는 요소들이 훨씬 많다.
✅ 특정 게시글 조회 API 만들기 board-service에서 아래 코드 작성하기 Response DTO 만들기 user-service의 API와 통신할 코드 작성하기 Service 로직 작성하기 Controller 로직 작성하기 서버 재실행시킨 후
✅ Spring Boot 프로젝트 셋팅 & DB 연결 Spring Boot 프로젝트 셋팅 application.yml 작성하기 Spring Boot 서버 실행시켜서 DB 연결 제대로 되는 지 확인하기 ✅ 포인트 적립 API 만들기 Point 엔티티 생
✅ 장애 전파 방어 코드 작성하지 않으면 어떻게 되는 지 테스트하기 user-service 서버 종료시키기 게시글 조회 API로 요청 보내기 ✅ 장애 전파 방지 전략 User Service가 장애가 나더라도 Board Service의 게시글 조회 AP
✅ Point Microservice가 사용할 DB 띄우기 MySQL 서버 띄우기 GUI 툴로 MySQL 접근 되는 지 확인하기 데이터베이스 생성하기
✅ API Gateway란? 우선 Gateway라는 의미를 먼저 알아보자. Gateway는 네트워크 상에서 다른 네트워크로 들어가는 입구 역할을 하는 지점을 의미한다. 그럼 API Gateway의 뜻은 뭘까? API Gateway는 클라이언트(웹, 모