블로그 글
박재성 선생님이 개발 블로그에 쓴 글입니다.
[실습] 프로젝트 구조에 맞게 Kafka 셋팅하기
✅ 프로젝트 구조에 맞게 Kafka 셋팅하기 Kafka랑 연결되어 있는 Spring Boot 서버 종료하기 기존에 셋팅해뒀던 카프카 서버 3대를 백그라운드에서 실행시키기 기존에 생성되어 있던 토픽 삭제하기 토픽 생성하기 DLT 토픽 생성하기 3개의 k
![[실습] Board Microservice 만들기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80e3-b256-db7141b102a2-3f922b637a3619b6.webp&w=3840&q=75)
[실습] Board Microservice 만들기
✅ Board Microservice 만들기 User Service는 만들었으니 마지막으로 남은 Board Service를 만들어보자. ✅ Spring Boot 프로젝트 셋팅 & DB 연결 Spring Boot 프로젝트 셋팅 application.ym
![[실습] 각 Microservice에 해당하는 DB 서버 띄우기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80cd-a6d1-e091dde50911-538a2f601cfabe09.webp&w=3840&q=75)
[실습] 각 Microservice에 해당하는 DB 서버 띄우기
✅ 각 Microservice에 해당하는 DB 서버 띄우기 아래 아키텍처 구조에 맞게 Docker로 MySQL 서버 2대를 띄워주자. MySQL 서버 2대 띄우기 GUI 툴로 MySQL 접근되는 지 확인하기 데이터베이스 생성하기

많은 사람들이 MSA가 어렵다고 착각하는 이유
✅ 많은 사람들이 MSA가 어렵다고 착각하는 이유 많은 분들이 MSA를 잘못 오해하고 있는 경우가 너무 많다. 가장 대표적으로 오해하는 게 MSA 구조로 구축하려면 거창하고 복잡한 무언가를 도입해야 한다고 잘못 알고 있다. 구체적인 Case를 살펴보자

구현한 MSA 프로젝트를 잘 구현했는 지 전체적으로 검토하기
✅ 구현할 기능 회원가입 API 게시글 작성 API ✅ 프로젝트 아키텍처 ✅ DB 설계
![[실습] 회원 가입 비즈니스 로직 짜기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80a4-a281-e4cc7e34b632-3f5de1206a219f7a.webp&w=3840&q=75)
[실습] 회원 가입 비즈니스 로직 짜기
✅ 회원 가입 비즈니스 로직 짜기 회원 가입한 사용자 정보 DB에 저장하기 Kafka에 전송할 메시지 객체 만들기 Json 형태의 String으로 만들어 주는 함수 추가하기 Kafka에 메시지 보내는 로직 추가하기 ✅ 중간 체크 전체 프로젝트 구조에서
![[실습] User Microservice 만들기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-8098-b42b-e0409edde75f-d67a62ad6cb6eeeb.webp&w=3840&q=75)
[실습] User Microservice 만들기
✅ User Microservice 만들기 DB까지는 셋팅을 했으니 아래 구조에 맞게 User Service를 만들어보자. ✅ Spring Boot 프로젝트 셋팅 & DB 연결 Spring Boot 프로젝트 셋팅 application.yml 작성하기
[실습] 회원가입 API 전체 뼈대 만들기
✅ 회원가입 API 만들기 User 엔티티 생성하기 UserRepository 만들기 Controller 만들기 RequestDto 만들기 Service 만들기

MSA의 핵심 특징 / MSA의 독보적인 장점
✅ MSA의 핵심 특징 MSA는 다양한 특징을 가지고 있다. 그 중에서 가장 핵심 특징은 독립성이다. 아래 그림을 보면 결제에 관련된 기능, 인증에 관련된 기능, 상품에 관련된 기능을 독립적으로 분리해서 프로젝트를 구성했다. 이게 바로 MSA의 방식대

MSA인지 아닌지를 판단하는 기준
✅ MSA인지 아닌지를 판단하는 기준 MSA인지 아닌지를 판단하는 ‘명확한’ 기준이라는 게 없다. 왜냐하면 MSA라는 개념이 어떤 개인이나 단체가 정의한 개념이 아니다. 그냥 서로 입소문으로 퍼진 개념 중 하나이다. 한 마디로 ‘특정 기준을 만족시켜야
![[실습] 이메일 발송을 처리할 Consumer 로직 짜기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-8068-9fce-efc4df54cdc3-5d7d23c267a74674.webp&w=3840&q=75)
[실습] 이메일 발송을 처리할 Consumer 로직 짜기
✅ 이메일 발송을 처리할 Consumer 로직 짜기 Kafka의 메시지를 가져와 담을 객체 만들기 Consumer 로직 작성하기 이메일 발송 로그를 남기기 위한 엔티티, 레포지토리 생성하기 Consumer 로직 보완하기 DLT로 빠지는 메시지 처리하는
![[실습] Spring Boot로 UserService 서버 초기 환경 설정하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-8065-973f-c4cc263a1b9b-1f1dd68063e4ca5c.webp&w=3840&q=75)
[실습] Spring Boot로 UserService 서버 초기 환경 설정하기
✅ Spring Boot로 UserService 서버 초기 환경 설정하기 Spring Boot 프로젝트 셋팅 application.yml에 Kafka 연결을 위한 정보 작성하기 application.yml에 H2 데이터베이스 연결을 위한 정보 작성하기