RabbitMQ, ZeroMQ, 카프카는 당신을 위해 일의 계층 구조는 서로의 장점과 단점은 무엇입니까?

RabbitMQ는 입니다 AMQP 구현, 기존의 메시징 큐 를 기반으로 시스템 구현, 얼랑 . 베테랑 MQ의 제품입니다. AMQP의 더 엔터프라이즈 시스템에 사용되는 프로토콜 데이터 일관성, 높은 안정성과 신뢰성 시나리오는 성능과 처리량은 여전히 이어진다 .

 

카프카가 되는 링크드 인 오픈 소스 MQ의 시스템을 주요 특징을 기반으로 메시지 소비를 처리하는 모드로, 높은 처리량의 추구가 목적이 로그 수집 및 전송을 시작하는 것입니다 , 0.8 , 트랜잭션, 지원하지 않는 복제를 지원하기 시작했다 많은 양의 데이터를 생성하기위한 적합 인터넷 데이터 서비스의 수집 사업 .

 

ZeroMQ 단지 네트워크 프로그래밍 패턴 라이브러리, 짧은에있는 일반적인 네트워크 요청 양식 (그룹 관리, 링크 관리, 발행 subscription 등) 모델과 구성 요소 디자인, 소켓 위, MQ 아래. 들어 MQ , 전송 네트워크의 일부만을, 메시지 저장, 라우팅, 처리 할 더 필요하다 브로커 서비스 검색 및 검색, 거래, 소비 패턴 ( ACK , 다시 입력 등), 클러스터 서비스를.

 

 

RabbitMQ / 카프카는 / ZeroMQ은 메시지 큐 서비스를 제공 할 수 있지만 큰 차이가있다.

 

메시지 브로커를 통해 서비스 지향 아키텍처에서 (예 : RabbitMQ / 카프카 등), 생산자의 사용 - 비동기 통신에 대한 소비자 모델은 서비스 사이 좋은 생각이다.

 

서비스 간의 종속성 때문에 느슨하게 결합에 의해 강한 결합이된다. 높은 부하 또는 소비자가 경우이 메시지가 아니라 손실을 개최한다 하락에서 메시지 브로커는 지속성 메커니즘을 제공합니다. 생산자와 소비자가 기존의 요구 인 동시에 온라인으로 할 필요가 없습니다 - 응답 모드가 할 더 어렵습니다, 당신은 그것을 할 수있는 전문 미들웨어가 필요합니다. 두 번째 메시지 브로커는 간단한 라우팅 전략은 메시지 자체에 따라, 소비자가로드 밸런싱, 사업 분리를 할 수 할 수 있습니다.

 

단점은 추가 메시지 브로커 클러스터를 (하지만 장점이 단점보다 크다 구축 할 필요가있다이다 ) .

 

ZeroMQ RabbitMQ / 카프카 다른, 그냥 비동기 메시지 라이브러리는의에 소켓에 기초하여 통신사와 유사한 메커니즘을 제공합니다. 사용 ZeroMQ의 단어 사업을 변환하는 코드에 대한 필요성을, 서비스를 분리하는 것이 도움이되지 않습니다.

 

RabbitMQ는 지원 AMQP (진), STOMP (텍스트), MQTT (진), HTTP (다른 프로토콜 내부 포장) 및 기타 계약. 카프카는 자신의 프로토콜을 사용합니다 .

 

카프카 의 자체 서비스와 소비자 의존 할 필요가 사육사를 .

 

RabbitMQ 성능이 감소 할 뉴스의 경우 많은 수의 축적, 카프카가 살았던 하지 않습니다. 결국, AMQP는 원래 지속적 메시징 남용하지 않도록 설계되었으며, 카프카의 시작은 대규모 로그를 처리하는 데 사용됩니다 .

 

전반적으로, RabbitMQ 카프카는 아주 좋은 기본적으로 생산 조건에서 모든 요구 사항을 충족하기 위해,없이, 통신사 서비스만큼 적절한 배치를 배포됩니다.

 

 

ZeroMQ 로컬 프로세스 사이의 조정

RabbitMQ는 , 메시지는 작업을 큐에

카프카 ,데이터 스트림 처리에 초점을 잡지 구독

 

 

그들도 더 적합하다, 트랜잭션 처리 측면을 분산? 그것은의 베테랑으로 이해되어서는 안된다 RabbitMQ 더 나은 일관성과 더 나은 지원을 위해!

 

 

많은 기업들이 zmq은 쉽게 Socke를 만드는 데 사용되는 사용하는 것 t을 . 보다 트위스트 편리도. (이러한 우리의 등)

 

하지만 정말 낭비 zmq 많은 속성을.

 

 

RabbitMQ 카프카는 기본적으로 일, 장점과 단점의 클래스, ZeroMQ는 단지 네트워크 라이브러리는 지속적인 지원하지 않습니다.


추천

출처www.cnblogs.com/lizhensheng/p/11117402.html