>  기사  >  메시지 대기열이란 무엇입니까?

메시지 대기열이란 무엇입니까?

hzc
hzc원래의
2020-06-29 11:30:5914607검색

메시지 대기열에는 다음이 포함됩니다. 1. AMQP를 기반으로 하는 재사용 가능한 엔터프라이즈 메시징 시스템인 RabbitMQ는 현재 가장 주류인 메시지 미들웨어 중 하나입니다. 2. JMS1.1 및 J2EE1의 [JMS 공급자] 구현을 완벽하게 지원합니다. .4 사양.

메시지 대기열이란 무엇입니까?

1 RabbitMQ

RabbitMQ는 2007년에 출시되었습니다. AMQP(Advanced Message Queuing Protocol)를 기반으로 하는 재사용 가능한 엔터프라이즈 메시징 시스템으로 현재 가장 주류를 이루는 메시징 미들웨어 중 하나입니다.

주요 기능:

  • 신뢰성: 성능과 신뢰성 사이에서 절충할 수 있는 다양한 기술을 제공합니다. 이러한 기술에는 지속성 메커니즘, 배달 확인, 게시자 확인 및 고가용성 메커니즘이 포함됩니다.

  • 유연한 라우팅: 메시지는 대기열에 도착하기 전에 스위치를 통해 라우팅됩니다. RabbitMQ는 일반적인 라우팅 논리를 위한 여러 내장 스위치 유형을 제공합니다. 더 복잡한 라우팅 요구 사항이 있는 경우 이러한 스위치를 결합하여 자체 스위치 유형을 구현하고 이를 RabbitMQ 플러그인으로 사용할 수도 있습니다.

  • 메시지 클러스터: 동일한 LAN에 있는 여러 RabbitMQ 서버를 함께 집계할 수 있습니다.

  • 대기열 고가용성: 하드웨어 문제가 있는 경우에도 메시지 보안을 보장하기 위해 대기열을 미러링할 수 있습니다. 서버는 Erlang 언어로 작성되었으며 여러분이 생각할 수 있는 모든 프로그래밍 언어를 지원합니다.

  • 관리 인터페이스: RabbitMQ에는 사용자가 Broker 메시지의 여러 측면을 모니터링하고 관리할 수 있는 사용하기 쉬운 사용자 인터페이스가 있습니다.

  • 추적 메커니즘: 메시지가 비정상적인 경우 RabbitMQ는 메시지 추적 메커니즘을 제공하며 사용자는 무슨 일이 일어났는지 확인할 수 있습니다.

  • 플러그인 메커니즘: 다양한 플러그인을 제공합니다.

  • 2 ActiveMQ

ActiveMQ는 Apache에서 생성됩니다. ActiveMQ는 JMS1.1 및 J2EE 1.4 사양을 완벽하게 지원하는 JMS 공급자 구현입니다. 매우 빠르며, 여러 언어 클라이언트 및 프로토콜을 지원하고, 기업 애플리케이션 환경에 쉽게 내장될 수 있으며, 다양한 고급 기능을 갖추고 있습니다.

주요 기능:

JMS 사양 준수: JMS 사양은 동기식 또는 비동기식 메시지 배포, 단 한 번만 메시지 배포, 메시지 수신 및 구독 등을 포함하여 우수한 표준과 보장을 제공합니다. JMS 사양 준수의 장점은 어떤 JMS 구현 공급자가 사용되는지에 관계없이 이러한 기본 기능을 사용할 수 있다는 것입니다.

  • 연결성: ActiveMQ는 광범위한 연결 옵션을 제공하며 지원되는 프로토콜은 HTTP/S, IP 멀티캐스트, SSL, STOMP, TCP, UDP, XMPP 등. 다양한 프로토콜을 지원하면 ActiveMQ에 뛰어난 유연성이 제공됩니다.

  • 다양한 프로토콜 지원: OpenWire, STOMP, REST, XMPP, AMQP

  • 지속성 플러그인 및 보안 플러그인: ActiveMQ는 다양한 지속성 옵션을 제공합니다. 또한 ActiveMQ의 보안은 사용자 요구에 따라 인증 및 승인을 위해 완전히 사용자 정의할 수도 있습니다.

  • 다양한 유형의 클라이언트 언어를 지원합니다. Java 외에도 C/C++, .NET, Perl, PHP도 있습니다. , Python, Ruby;

  • 브로커 클러스터: 여러 ActiveMQ 브로커가 클러스터를 형성하여 서비스를 제공할 수 있습니다.

  • 매우 간단한 관리: ActiveMQ는 개발자의 생각으로 설계되었습니다. 따라서 간단하고 사용하기 쉬운 관리 기능을 제공하므로 전담 관리자가 필요하지 않습니다. JConsole 또는 ActiveMQ의 웹 콘솔에서 JMX를 사용하고, JMX 경보 메시지를 처리하고, 명령줄 스크립트를 사용하고, 다양한 유형의 로그를 모니터링하는 등 다양한 수준의 ActiveMQ에서 데이터를 모니터링하는 방법은 많습니다.

3 RocketMQ

RocketMQ는 Java 언어로 구현되며 Kafka보다 메시지 안정성이 더 좋습니다. RocketMQ는 Alibaba Group에서 주문, 거래, 재충전, 스트림 컴퓨팅, 메시지 푸시, 로그 스트리밍, Binglog 배포 및 기타 시나리오로 널리 사용됩니다.

  • 고성능, 높은 신뢰성, 높은 실시간 및 분산 특성을 갖춘 큐 모델 메시지 미들웨어입니다.

  • 생산자, 소비자 및 대기열이 모두 분산될 수 있습니다. 대기열 메시지를 보내기 위해 대기열 세트를 주제라고 합니다. 소비자가 소비를 브로드캐스트하는 경우 하나의 소비자 인스턴스가 이 주제에 해당하는 모든 대기열을 소비합니다.

  • 여러 소비자 인스턴스가 이에 해당하는 대기열 세트를 소비합니다.

  • 엄격한 메시지 순서를 보장할 수 있습니다.

  • 효율적인 구독자 수평 확장 기능을 제공합니다.

  • 레벨 메시지 축적 기능;

  • 4 Kafka
  • Apache Kafka는 분산 메시지 게시 및 구독 시스템입니다. 원래 LinkedIn에서 독특한 디자인을 기반으로 한 분산 커밋 로그 시스템(분산 커밋 로그)으로 구현되었으며 나중에 Apache 프로젝트의 일부가 되었습니다. Kafka 시스템은 빠르고 확장 가능하며 내구성이 뛰어납니다. 분할 특성, 복제 가능성 및 내결함성은 모두 좋은 기능입니다.

  • O(1) 시스템 오버헤드로 빠른 지속성, 메시지 지속성을 수행할 수 있습니다.

  • 일반 서버에서 10W/s의 처리량을 달성할 수 있습니다.

. 시스템, 브로커, 생산자 및 소비자는 모두 기본적으로 자동으로 배포를 지원하고 로드 밸런싱을 자동으로 실현합니다.

동기 및 비동기 복제 HA를 모두 지원합니다.

  • 데이터 일괄 전송 및 가져오기를 지원합니다. : IO 작업 단계를 줄입니다.

  • 데이터 마이그레이션 및 확장이 사용자에게 투명합니다.

  • 시스템을 가동 중단 없이 확장할 수 있습니다.

  • 기타 기능: 엄격한 메시지 순서, 풍부한 메시지 가져오기 모델, 효율적인 구독자 수평 확장, 실시간 메시지 구독, 10억 단위 메시지 축적 기능, 정기적인 삭제 메커니즘

위 내용은 메시지 대기열이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.