Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Apache Kafka와 JMS의 차이점.

<시간/>

Kafka와 JMS는 모두 메시징 시스템입니다. Java 메시지 서비스는 Java에서 제공하는 API입니다. 애플리케이션에서 메시징 시스템을 구현하는 데 사용됩니다. JMS는 대기열 및 게시자 /subscriber(topic) 메시징 시스템을 지원합니다. 대기열을 사용하면 첫 번째 소비자가 메시지를 사용할 때 메시지가 대기열에서 삭제되고 다른 사용자는 더 이상 메시지를 받을 수 없습니다. 주제의 경우 여러 소비자가 각 메시지를 수신하지만 확장하기가 훨씬 어렵습니다.

Kafka는 이 두 개념의 일반화입니다. 동일한 소비자 그룹의 구성원 간에 확장이 가능하지만 여러 다른 소비자 그룹 간에 동일한 메시지를 브로드캐스트할 수도 있습니다. Kafka는 또한 새로운 소비자가 소비자 그룹에 가입하거나 탈퇴할 때 자동 재조정 기능을 제공합니다.

Sr. 아니요. 아파치 카프카 JMS
1
기본
Apache Kafka는 분산된 발행-구독 메시징 시스템으로 서로 다른 소스 시스템에서 데이터를 수신하고 실시간으로 대상 시스템에서 데이터를 사용할 수 있도록 합니다.
자바 메시지 서비스는 자바에서 제공하는 API입니다. 애플리케이션에서 메시징 시스템을 구현하는 데 사용됩니다.
2
당기기/밀기 메커니즘
풀 메커니즘을 사용하므로 클라이언트는 매번 메시지를 폴링해야 합니다.
푸시 기반 모델을 사용하여 모든 소비자에게 메시지를 브로드캐스트할 수 있습니다.
3
메시지 보존 정책
정책 기반
승인 기반
4.
자동 재조정
새로운 소비자가 소비자 그룹에서 추가 또는 제거될 때 자동 균형을 제공합니다.
자동 재조정을 제공하지 않습니다.
5
메시지 순서
Kafka는 메시지가 파티션 수준에서 전송된 순서대로 수신되도록 합니다.
JMS는 주문 메시지를 지원하지 않습니다.