블로그 글
박재성 선생님이 개발 블로그에 쓴 글입니다.
![[실습] 사용자 서비스에 로그인 API 구현하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-805e-9da9-c7692332e92d-ad524ccea0f97d56.webp&w=3840&q=75)
[실습] 사용자 서비스에 로그인 API 구현하기
✅ 사용자 서비스에 로그인 API 구현하기 DTO 구현하기 Controller 로직 구현하기 Service 로직 구현하기 JWT 의존성 추가하기 JWT 로직 추가하기 서버 다시 실행시키기 API 테스트 해보기
![[실습] 게시글 전체 조회 API 만들기 - 2](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-805d-91b8-e81470e36377-a1f55874af49a059.webp&w=3840&q=75)
[실습] 게시글 전체 조회 API 만들기 - 2
✅ 게시글 전체 조회 API 만들기 board-service에서 아래 코드 작성하기 UserClient 로직 작성하기 Service 로직 작성하기 Controller 로직 작성하기 user-service, board-service 서버 실행시키기 테스

MSA에서 ‘인증 로직’ 구현하는 방법
✅ MSA에서의 API 인증(Authentication) 지금까지 구현한 프로젝트는 ‘인증(Authentication)’을 신경쓰지 않고 구현했다. 하지만 해당 프로젝트에서 악의적으로 다른 사용자인척 게시글을 작성하는 일이 발생하면 안 된다. 따라서
![[실습] 잘 작동하는 지 테스트하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-804b-b9d5-ff18407e82ea-dea0b4f150d925f8.webp&w=3840&q=75)
[실습] 잘 작동하는 지 테스트하기
✅ 잘 작동하는 지 테스트하기 테스트 전에 DB 데이터 정리하기 API 요청 보내기 성공적으로 잘 처리했는 지 DB 확인하기 ✅ 정리하기 사용자(클라이언트)가 회원가입 API 요청 사용자 서비스의 users DB에 사용자 정보 저장 Kafka에 회원가
![[실습] 다른 마이크로서비스가 사용할 ‘사용자 조회 API’ 만들기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-8046-8aa8-da255cccc38b-425c2d83f1544e43.webp&w=3840&q=75)
[실습] 다른 마이크로서비스가 사용할 ‘사용자 조회 API’ 만들기
✅ 게시글 조회 API를 구현하려면, 사용자 조회 API도 만들어야 하는 이유 [게시글 조회 API의 응답값] { "boardId": 1, "title": "제목", "content": "내용" "user": { "userId":

특정 서비스가 장애났을 때, 장애가 전파되지 않게 막는 방법
✅ 특정 서비스가 장애났을 때, 장애가 전파되지 않게 막는 방법 위와 같은 구조에서 사용자 서비스의 서버 또는 DB에 장애가 났다고 가정하자. 그럼 게시글 조회 API도 정상적으로 작동하지 않을 것이다. 왜냐하면 게시글 조회 로직에는 사용자 서비스로부
![[실습] API Gateway에 JWT 인증 로직 구현하기 (](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-8042-882c-d854c42d0408-e4944eefbc82b0ac.webp&w=3840&q=75)
[실습] API Gateway에 JWT 인증 로직 구현하기 (
✅ 설계 API Gateway로 들어오는 요청에 대해 비즈니스 로직을 처리할 수 있는 Filter 기능을 가지고 있다. 그래서 이 Filter 기능을 활용해 아래와 같이 JWT 인증 로직을 구현하고자 한다. ✅ API Gateway에 JWT 인증 로직
![[실습] 게시글 조회 로직 최적화하기 (](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-803a-b24f-cd3ae39e61bc-a71b828ee7242cc9.webp&w=3840&q=75)
[실습] 게시글 조회 로직 최적화하기 (
✅ 게시글 조회 로직 최적화하기 board-service에서 아래 코드 작성하기 Board 엔티티에 연관 관계 매핑하기 게시글 조회 로직 수정하기 컨트롤러 로직 바꾸기 서버 다시 실행시키기 테스트를 위해 게시글 데이터 2개 넣기 API 테스트 해보기

MSA 환경에서의 트랜잭션 처리 방법
✅ MSA 환경에서의 트랜잭션 처리 방법 모놀리식 아키텍처와 달리 MSA 환경에서는 서비스마다 DB가 분리되어 있다. 그래서 서로 다른 DB에서 처리하는 여러 작업을 하나의 트랜잭션으로 묶을 수 없다. 그래서 MSA 환경에서는 이런 문제점을 해결하기

데이터 조회 기능 구현 방식 (모놀리식 vs MSA)
요구사항에 따르면 게시글 조회 API를 아래와 같이 응답하게 구현해야 한다. ✅ ’모놀리식 아키텍처’에서 데이터 조회 기능 구현 방식 모놀리식 아키텍처에서는 하나의 DB에 사용자 정보와 게시글 정보가 한꺼번에 저장되어 있기 때문에 아래와 같이 SQL문
![[실습] 게시글 작성 로직 수정하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-800c-afbc-e1add1ee8600-1b3b972d5a887a58.webp&w=3840&q=75)
[실습] 게시글 작성 로직 수정하기
✅ 게시글 작성 로직 수정하기 현재 게시글 작성 API는 Request Body에 포함된 userId 값을 기반으로 로직을 처리하고 있다. 하지만 이 방식은 클라이언트가 임의로 다른 사용자의 userId를 입력해 악의적인 요청을 보낼 수 있다는 보안

Eventual Consistency(최종적 일관성)이란?
✅ Eventual Consistency(최종적 일관성)이란? MSA 환경에서 Saga 패턴을 기반으로 로직을 처리하다보면 어쩔 수 없이 데이터 일관성이 잠깐동안 깨지는 순간이 발생한다. 이 현상을 눈으로 확인하기 위해 코드를 일부 수정해보자. 활동