✅ 게시글 조회 API를 구현하려면, 사용자 조회 API도 만들어야 하는 이유 [게시글 조회 API의 응답값] { "boardId": 1, "title": "제목", "content": "내용" "user": { "userId":
✅ 특정 서비스가 장애났을 때, 장애가 전파되지 않게 막는 방법 위와 같은 구조에서 사용자 서비스의 서버 또는 DB에 장애가 났다고 가정하자. 그럼 게시글 조회 API도 정상적으로 작동하지 않을 것이다. 왜냐하면 게시글 조회 로직에는 사용자 서비스로부
✅ 설계 API Gateway로 들어오는 요청에 대해 비즈니스 로직을 처리할 수 있는 Filter 기능을 가지고 있다. 그래서 이 Filter 기능을 활용해 아래와 같이 JWT 인증 로직을 구현하고자 한다. ✅ API Gateway에 JWT 인증 로직
✅ 게시글 조회 로직 최적화하기 board-service에서 아래 코드 작성하기 Board 엔티티에 연관 관계 매핑하기 게시글 조회 로직 수정하기 컨트롤러 로직 바꾸기 서버 다시 실행시키기 테스트를 위해 게시글 데이터 2개 넣기 API 테스트 해보기
✅ MSA 환경에서의 트랜잭션 처리 방법 모놀리식 아키텍처와 달리 MSA 환경에서는 서비스마다 DB가 분리되어 있다. 그래서 서로 다른 DB에서 처리하는 여러 작업을 하나의 트랜잭션으로 묶을 수 없다. 그래서 MSA 환경에서는 이런 문제점을 해결하기
요구사항에 따르면 게시글 조회 API를 아래와 같이 응답하게 구현해야 한다. ✅ ’모놀리식 아키텍처’에서 데이터 조회 기능 구현 방식 모놀리식 아키텍처에서는 하나의 DB에 사용자 정보와 게시글 정보가 한꺼번에 저장되어 있기 때문에 아래와 같이 SQL문
✅ 게시글 작성 로직 수정하기 현재 게시글 작성 API는 Request Body에 포함된 userId 값을 기반으로 로직을 처리하고 있다. 하지만 이 방식은 클라이언트가 임의로 다른 사용자의 userId를 입력해 악의적인 요청을 보낼 수 있다는 보안
✅ Eventual Consistency(최종적 일관성)이란? MSA 환경에서 Saga 패턴을 기반으로 로직을 처리하다보면 어쩔 수 없이 데이터 일관성이 잠깐동안 깨지는 순간이 발생한다. 이 현상을 눈으로 확인하기 위해 코드를 일부 수정해보자. 활동
✅ 프로젝트 구조에 맞게 Kafka 셋팅하기 Kafka랑 연결되어 있는 Spring Boot 서버 종료하기 기존에 셋팅해뒀던 카프카 서버 3대를 백그라운드에서 실행시키기 기존에 생성되어 있던 토픽 삭제하기 토픽 생성하기 DLT 토픽 생성하기 3개의 k
✅ Board Microservice 만들기 User Service는 만들었으니 마지막으로 남은 Board Service를 만들어보자. ✅ Spring Boot 프로젝트 셋팅 & DB 연결 Spring Boot 프로젝트 셋팅 application.ym