✅ AWS에 MSA 프로젝트 배포하기 현재까지 아래와 같은 구성으로 MSA 프로젝트를 구성했다. 이 MSA 구성을 클라우드 환경인 AWS에 배포하는 것까지 해보는 걸 추천한다. AWS로 서버를 배포해본 적이 있다면 충분히 구현할 수 있을 것이다. ✅
✅ MSA는 꼭 쿠버네티스로 배포해야 할까? 마이크로서비스의 개수가 3~5개 정도로 작을 때는 굳이 쿠버네티스를 안 써도 된다. 오히려 쿠버네티스를 쓰는 게 오버스펙인 경우가 많다. MSA 구조를 도입한 회사들 중에서 쿠버네티스(EKS)를 사용하지 않
✅ 구조 게시글 작성 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 패턴은 보상 트랜잭션을 활용해 ‘여러 작업을 하나의 트랜잭션으로 묶은 것’처럼 작동시키는 방식이다. ✅ 보상 트랜잭션이란? 보상 트랜잭
MSA 환경에서는 마이크로서비스끼리 통신을 해야 한다. 이 때, 통신 방식은 크게 동기와 비동기 방식으로 나뉜다. 이전까지 프로젝트에서 사용했던 REST API 기반의 통신 방식이 대표적인 동기 통신 방식이 있다. 그리고 Kafka와 같은 메시지 큐를
✅ API Gateway를 활용해 클라이언트가 접근할 API 제한하기 이전 강의에서 클라이언트가 사용하는 외부용 API와 마이크로서비스 내부에서만 사용하는 내부용 API를 분리했다. 이 구성에서 클라이언트는 내부용 API에 접근할 수 없게 막아야 한다