Apache Kafka를 사용하여 마이크로서비스 간 비동기 통신을 구현하기 위해서는 계정(Account) 및 메시지(Message) 마이크로서비스 코드를 수정해야 합니다. 다음은 각 단계별로 코드 변경 및 설정 방법을 정리한 내용입니다.
새 폴더 생성:
.idea
폴더를 삭제하고, IntelliJ IDEA에서 섹션 14 코드를 엽니다.Maven 프로젝트 로드:
Accounts Microservice 수정:
pom.xml
파일에서 RabbitMQ 관련 의존성을 Kafka 의존성으로 변경합니다.spring-cloud-stream-binder-rabbit
를 spring-cloud-stream-binder-kafka
로 변경합니다.s13
에서 s14
로 업데이트합니다.Message Microservice 수정:
pom.xml
파일에서도 RabbitMQ 의존성을 Kafka 의존성으로 변경합니다.s13
에서 s14
로 업데이트합니다.Message Microservice 설정:
application.yml
파일에서 RabbitMQ 관련 설정을 삭제하고, Kafka 설정을 추가합니다.spring.cloud.stream.kafka.binder.brokers: localhost:9092
로 Kafka 브로커의 위치를 설정합니다.Accounts Microservice 설정:
application.yml
파일에서 RabbitMQ 관련 설정을 삭제하고, Kafka 설정을 추가합니다.spring.cloud.stream.kafka.binder.brokers: localhost:9092
로 Kafka 브로커의 위치를 설정합니다.마이크로서비스 시작:
Kafka 클러스터 확인:
Kafkalytic
플러그인을 사용하여 Kafka 클러스터에 연결된 토픽과 소비자(Consumer) 정보를 확인합니다.비동기 통신 테스트:
null
에서 true
로 변경되는지 확인합니다.이로써 RabbitMQ에서 Kafka로의 전환이 성공적으로 완료되었습니다. 최신 Spring Cloud Stream 기술을 활용하여 인프라 관련 문제를 최소화하면서 개발 경험을 향상시킬 수 있습니다. 다음 강의에서는 Docker 환경에서의 테스트를 진행합니다.