✅ 파티션(Partition)이란? 파티션(Partition)은 큐(메시지를 임시로 저장할 수 있는 공간)를 여러개로 늘려서 병렬 처리를 가능하게 하는 기본 단위이다. 파티션은 메시지 처리량에 큰 영향을 미치는 핵심 요인이다. 왜냐하면 메시지를 순차적
✅ 회원가입 API 만들기 User 엔티티 생성하기 UserRepository 만들기 Controller 만들기 RequestDto 만들기 Service 만들기
✅ Spring Boot에서 여러 개의 컨슈머로 메시지 병렬적으로 처리하기 프로듀서, 컨슈머 서버 실행시키기 컨슈머 서버 로그 확인하기 API 요청 보내면서 컨슈머 서버 로그 확인하기 컨슈머 서버 추가로 띄우기 Consumer 서버 로그 확인하기 AP
✅ CLI를 활용한 Kafka 조작 이전 강의의 그림에서는 백엔드 서버(Spring Boot)로만 Kafka를 조작할 수 있는 것처럼 표현했지만, 실제로는 CLI로도 Kafka의 모든 기능을 조작할 수 있다. 그럼 자주 사용하는 기능 중 하나인 ‘토픽
컨슈머가 메시지를 지연 없이 잘 처리하고 있는 지 확인하는 방법을 알아보기 전에, 가장 먼저 Lag이라는 용어가 어떤 의미인지 정리해보자. ✅ Lag 이란? 평소에 컴퓨터가 느려지거나 버벅거리면 우리는 “렉 걸린다”라는 표현을 쓴다. 이 때, 렉이라는
✅ Spring Boot에 Kafka 서버 3대를 연결해서 사용하는 방법 Producer의 코드 수정하기 Consumer 코드 수정하기 위와 같이 코드를 작성해야 여러 Kafka 서버 중 일부 서버가 중단되도 정상적으로 Kafka를 활용할 수 있다.
✅ 이메일 발송을 처리할 Consumer 로직 짜기 Kafka의 메시지를 가져와 담을 객체 만들기 Consumer 로직 작성하기 이메일 발송 로그를 남기기 위한 엔티티, 레포지토리 생성하기 Consumer 로직 보완하기 DLT로 빠지는 메시지 처리하는
✅ Spring Boot로 UserService 서버 초기 환경 설정하기 Spring Boot 프로젝트 셋팅 application.yml에 Kafka 연결을 위한 정보 작성하기 application.yml에 H2 데이터베이스 연결을 위한 정보 작성하기
✅ Kafka 서버는 몇 대를 운용하는 게 좋을까? kafka 서버를 많이 운용할수록 시스템 전체가 중단될 확률이 줄어들기 때문에 좋기는 하나, 많은 서버를 운용하게 되면 서버 비용이 많이 나온다. 그리고 kafka 서버를 1대로 운용한다고 해서 서비
✅ 잘 작동하는 지 테스트해보기 User Service, Email Service 서버 실행하기 API 요청 보내보기 EmailService 로그 확인하기 DB 조회해보기 ✅ 정리 이번 프로젝트를 통해 MSA 구조에서 Kafka를 활용해볼 수 있었다.