블로그 글
박재성 선생님이 개발 블로그에 쓴 글입니다.

Kafka 설치할 환경 셋팅하기 (feat. EC2)
AWS에서 계정을 가입한 이후로부터 1년 동안 프리티어 혜택을 받을 수 있다. 강의에서 진행하는 실습은 프리티어 혜택 내에서 진행할 예정이기 때문에 비용이 거의 나가지 않을 것이다. ✅ EC2 인스턴스 생성하기 EC2 페이지 들어가기 리전 선택하기 인
![[실습] Spring Boot로 Kafka에 메시지 넣는 코드 작성하기 (Producer)](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80ea-afb7-cdeddf11fcf7-650b4b7948200b7b.webp&w=3840&q=75)
[실습] Spring Boot로 Kafka에 메시지 넣는 코드 작성하기 (Producer)
✅ Spring Boot로 Kafka에 메시지 넣는 코드 작성하기 위 그림과 같이 Spring Boot 서버를 활용해 Kafka에 메시지를 넣어보자. 사용자로부터 API 요청을 받을 Controller 만들기 Service 만들기 Kafka에 메시지를

특정 토픽의 파티션 수 조회하기 / 설정하기 / 변경하기
✅ 특정 토픽의 파티션 수 조회하기 토픽에 설정된 파티션 수를 조회하려면 이전에 배웠던 특정 토픽의 세부 정보 조회를 할 때 사용하는 명령어를 입력하면 된다. # 특정 토픽 세부 정보 조회 $ bin/kafka-topics.sh \ --bootstr
![[실습] Kafka 서버 3대가 서로 잘 연동됐는 지 확인하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80e6-90e4-ee00c8337917-cfbfc442c039a8f3.webp&w=3840&q=75)
[실습] Kafka 서버 3대가 서로 잘 연동됐는 지 확인하기
✅ Kafka 서버 3대가 서로 잘 연동됐는 지 확인하기 Kafka 서버 3대가 서로 잘 연동됐는 지 확인하는 확실한 방법은, 아래와 같이 Kafka의 서버 개수만큼 토픽의 레플리케이션을 만들어보는 것이다. ✅ 실습 Producer, Consumer

컨슈머가 메시지를 하나씩만 처리하는 현상
✅ Consumer가 메시지를 한 번에 하나씩만 처리하는 현상 API 요청 여러 번 보내보기 Consumer 서버의 로그 확인하기
![[실습] Spring Boot가 Kafka에 메시지 잘 넣는 지 테스트해보기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80e2-8909-e017f7dc8bd3-628baccb6d7542f4.webp&w=3840&q=75)
[실습] Spring Boot가 Kafka에 메시지 잘 넣는 지 테스트해보기
✅ 깔끔한 테스트를 위해 기존에 생성되어 있는 Kafka 리소스 삭제하기 전체 토픽 조회하기 토픽 삭제하기 전체 컨슈머 그룹 조회하기 컨슈머 그룹 삭제하기 토픽 다시 생성하기 ✅ Spring Boot가 Kafka에 메시지 잘 넣는 지 테스트해보기 Sp
![[실습] Spring Boot에서 하나의 컨슈머로 메시지 병렬적으로 처리하기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80da-abdc-fa22bbd7daf9-c4f24020d0c4ff28.webp&w=3840&q=75)
[실습] Spring Boot에서 하나의 컨슈머로 메시지 병렬적으로 처리하기
✅ Spring Boot로 하나의 컨슈머로 메시지 병렬적으로 처리하기 하나의 컨슈머 서버만 실행시키기 컨슈머 서버의 코드 수정하기 컨슈머 서버 재실행시키기 API 요청 보내면서 컨슈머 서버 로그 확인하기 ✅ 그림으로 이해하기 하나의 컨슈머 서버에서 하
![[실습] Spring Boot로 여러 개의 파티션에 메시지가 골고루 들어가는 지 확인해보기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80d3-8155-c7faa44fe845-f70579d37016eb78.webp&w=3840&q=75)
[실습] Spring Boot로 여러 개의 파티션에 메시지가 골고루 들어가는 지 확인해보기
✅ 여러 개의 파티션에 메시지가 골고루 들어가는 지 확인해보기 이전 강의에서 특정 토픽에 메시지를 넣으면 여러 파티션에 메시지가 적절하게 분산된다고 했다. 이 때, 메시지의 형태에 따라 파티션에 분배되는 방식이 달라진다. key가 포함되지 않은 메시지
![[실습] 리더 파티션에 장애가 발생하면 어떻게 될까? / Kafka 서버 1대가 고장나면 어떻게 될까?](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80cc-aef5-d462debd7343-11be2d3bf9ac369b.webp&w=3840&q=75)
[실습] 리더 파티션에 장애가 발생하면 어떻게 될까? / Kafka 서버 1대가 고장나면 어떻게 될까?
✅ 리더 파티션에 장애가 발생하면 어떻게 될까? 이전 강의에서 아래와 같이 설명했었다. 정말 그런지 실습을 통해 확인해보자. 리더 파티션에 장애가 발생하면 팔로워 파티션이 리더 역할(프로듀서로부터 메시지를 받고, 컨슈머가 메시지를 처리)을 대신 수행한
![[실습] Spring Boot로 하나의 파티션에는 정말 하나의 컨슈머만 할당되는 지 확인해보기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80c7-a517-fecb49c81c65-c8530c9102651598.webp&w=3840&q=75)
[실습] Spring Boot로 하나의 파티션에는 정말 하나의 컨슈머만 할당되는 지 확인해보기
✅ 하나의 파티션에는 정말 하나의 컨슈머만 할당될까? 이전 강의에서 ‘하나의 파티션은 하나의 컨슈머에게만 할당된다’라는 파티션의 특징을 배웠다. 이번 강의에서는 아래 그림과 같이 하나의 파티션에는 정말 하나의 컨슈머만 할당이 되는 지 실습을 해볼 것이

적정 파티션 개수 계산하는 방법
✅ 적정 파티션 개수 계산하는 방법 적정 파티션 개수를 정할 때의 핵심은 ‘처리가 지연되는 메시지가 생기지 않는 선에서 파티션을 최소로 설정하는 것’이다. 공식으로 표현하자면 다음 공식을 만족하게 파티션 수를 결정하면 된다. 프로듀서가 보내는 메시지량
![[실습] Spring Boot로 Kafka에서 메시지 조회하기 (Consumer)](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80b4-b76a-dfc1b2a1a2c6-54fc82f62d60fdfe.webp&w=3840&q=75)
[실습] Spring Boot로 Kafka에서 메시지 조회하기 (Consumer)
✅ Spring Boot로 Kafka에서 메시지 조회하기 (Consumer) 위 그림과 같이 Consumer 역할을 하는 Spring Boot 서버를 추가로 만들어 Kafka에 들어있는 메시지를 처리해보자. Spring Boot 프로젝트 셋팅 appl