728x90
이번 포스팅은 Spring Cloud Stream에 대해 공부한 지식을 정리하는 글입니다.
Spring Cloud Stream이란❓
Spring Cloud Stream은 마이크로서비스 아키텍처에(MSA)서 메시징 시스템을 쉽게 다루기 위한 Spring의 프로젝트입니다.
이 프로젝트는 이벤트 기반 아키텍처를 구축할 때 Kafka, RabbitMQ 등의 메시지 브로커와의 통합을 단순화하고, 메시지 기반의 애플리케이션을 구축할 때 유용한 도구와 기능을 제공합니다.
Spring Cloud Stream의 주요 개념과 기능은 다음과 같습니다.
1. 추상화된 메시징 클라이언트
- Spring Cloud Stream은 다양한 메시징 브로커(예: RabbitMQ, Kafka)에 대한 추상화 계층을 제공하여,
특정 브로커에 종속되지 않고 다양한 브로커를 사용할 수 있습니다. - 이를 통해 애플리케이션 코드에서 메시징 클라이언트를 직접 다루지 않고, Spring의 추상화된 API를 사용할 수 있습니다.
2. 바인딩(Binding)
- Spring Cloud Stream에서는 애플리케이션의 입력 및 출력 채널을 정의하고 이를 메시징 브로커와 바인딩합니다.
- 바인딩은 입력과 출력 채널 간의 연결을 자동으로 처리하며, 메시징 시스템과의 통신을 단순화합니다.
3. 프로퍼티 기반 구성
- Spring Cloud Stream은 프로퍼티 파일을 통해 메시징 브로커의 설정을 쉽게 구성할 수 있습니다.
- 이를 통해 브로커와의 연결 설정, 토픽, 큐 이름 등을 간편하게 정의할 수 있습니다.
4. 커넥터(Connectors)
- 다양한 메시징 시스템과의 통합을 지원하는 커넥터를 제공합니다.
- 기본적으로 Kafka와 RabbitMQ를 지원하며, 필요에 따라 다른 브로커에 대한 커넥터를 추가할 수 있습니다.
5. 문서화된 API
- Spring Cloud Stream은 프로듀서와 컨슈머의 메시징 작업을 간단하게 수행할 수 있는 문서화된 API를 제공합니다.
- 이를 통해 메시지를 송신하거나 수신하는 작업을 쉽게 구현할 수 있습니다.
6. 성능 모니터링 및 에러 처리
- 메시징 시스템의 성능 모니터링 및 에러 처리를 지원합니다.
- 애플리케이션의 상태를 모니터링하고, 에러 발생 시 적절한 처리를 수행할 수 있는 기능을 제공합니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일회고] 2024.08.09 - @Data를 지양하자 (0) | 2024.08.09 |
---|---|
[TIL, 일일 회고] 2024.08.08 - gitignore (gradle-wrapper.jar &properties) (0) | 2024.08.08 |
[TIL,일일 회고] 2024.08.06 - 마이크로서비스 아키텍처에서 Spring Cloud Config의 필요성 ✅ (0) | 2024.08.06 |
[TIL, 일일 회고] 2024.08.05 - Spring Cloud Gateway의 중요성 및 MSA 아키텍처에서의 역할 (0) | 2024.08.05 |
[TIL,일일 회고] 2024.08.04 - Spring Security를 통한 로그인 구현 (0) | 2024.08.04 |