스프링카프카 vs.Spring-Cloud-Stream(카프카)
마이크로서비스 아키텍처에서 카프카를 메시징 시스템으로 사용하는 경우 스프링-카프카와 스프링-클라우드-스트림+스프링-클라우드-스타터-스트림-카프카의 이점은 무엇입니까?
스프링 클라우드 스트림 프레임워크는 더 많은 메시징 시스템을 지원하므로 모듈식 설계를 제공합니다.하지만 기능성은 어떨까요?spring-kafka와 spring-cloud-stream + spring-cloud-starter-stream-kafka의 기능 사이에 차이가 있습니까?어떤 API가 더 잘 설계되었습니까?
당신의 의견에 대해 읽기를 기대하고 있습니다.
Kafka 바인더가 포함된 Spring Cloud Stream은 Spring-kafka에 의존합니다.따라서 전자는 나중에 지원되는 모든 기능을 갖추고 있지만 전자는 더 비중이 클 것입니다.다음은 선택하는 데 도움이 되는 몇 가지 사항입니다.
- 나중에 카프카를 다른 메시지 미들웨어로 변경할 수 있다면 Spring Cloud 스트림은 카프카의 구현 세부 정보를 숨기기 때문에 선택해야 합니다.
- 다른 메시지 중간을 카프카와 통합하려면 Spring Cloud 스트림을 선택해야 합니다. Spring Cloud의 판매 포인트는 이러한 통합을 쉽게 하는 것이기 때문입니다.
- 단순함을 즐기고 성능 오버헤드를 수용하지 않으려면 spring-kafka를 선택합니다.
- AWS Kensis, Azure EventHub와 같은 퍼블릭 클라우드 서비스로 마이그레이션하려는 경우 스프링 클라우드 제품군의 일부인 스프링 클라우드 스트림을 사용하십시오.
하나의 채널이 입력에 사용되는 시스템을 생성할 때 Spring Cloud Stream을 사용하여 일부 처리를 수행하고 하나의 출력 채널로 전송합니다.즉, RESTful API 호출을 대체하는 것이 RPC 시스템에 더 가깝습니다.
이벤트 소싱 시스템을 수행할 계획이라면 동일한 스트림을 게시하고 구독할 수 있는 Spring-Kafka를 사용하십시오.Spring Cloud Stream에서는 다음을 허용하지 않기 때문에 쉽게 수행할 수 없는 작업입니다.
public interface EventStream {
String STREAM = "event_stream";
@Output(EventStream.STREAM)
MessageChannel publisher();
@Input(EventStream.STREAM)
SubscribableChannel stream();
}
Spring Cloud Stream이 방지하는 몇 가지 이점은 다음과 같습니다.
- 직렬화 및 역직렬화 설정
언급URL : https://stackoverflow.com/questions/47312542/spring-kafka-vs-spring-cloud-stream-kafka
'programing' 카테고리의 다른 글
Swift에서 Enumeration 연결 값 액세스 (0) | 2023.08.18 |
---|---|
ASP 설치 및 사용 방법의 NET AJAX 컨트롤 툴킷.NET 3.5 웹 애플리케이션? (0) | 2023.08.18 |
Django를 사용하여 동적으로 생성된 이미지 제공 (0) | 2023.08.18 |
"#define X X"는 무엇을 의미합니까? (0) | 2023.08.18 |
엑셀이 이해할 수 있도록 날짜 시간을 포맷하는 방법은? (0) | 2023.08.18 |