ホームページ > よくある問題 > メッセージキューとは何ですか?

メッセージキューとは何ですか?

hzc
リリース: 2020-06-29 11:30:59
オリジナル
14748 人が閲覧しました

メッセージ キューには次のものが含まれます: 1. RabbitMQ (AMQP に基づく再利用可能なエンタープライズ メッセージング システムです。現在最も主流のメッセージ ミドルウェアの 1 つです。) 2. ActiveMQ (完全にサポートされている [JMS プロバイダー]) JMS1.1およびJ2EE1.4仕様の実装。

メッセージキューとは何ですか?

1 RabbitMQ

RabbitMQ は 2007 年にリリースされ、AMQP (Advanced Message Queuing Protocol) に基づいています。再利用可能なエンタープライズ メッセージング システムであり、現在最も主流のメッセージング ミドルウェアの 1 つです。

主な機能:

  • 信頼性:パフォーマンスと信頼性の間のトレードオフを可能にするさまざまなテクノロジーを提供します。これらのテクノロジーには、永続化メカニズム、配信確認、発行者確認、および高可用性メカニズムが含まれます。

  • 柔軟なルーティング: メッセージはキューに到着する前にスイッチを介してルーティングされます。 RabbitMQ は、一般的なルーティング ロジック用にいくつかの組み込みスイッチ タイプを提供します。より複雑なルーティング要件がある場合は、これらのスイッチを組み合わせることができます。独自のスイッチ タイプを実装して、それを RabbitMQ プラグインとして使用することもできます。

  • メッセージ クラスター: 複数の RabbitMQ同じ LAN 内のサーバーを集約して、独立した論理エージェントとして使用できます。

  • キューの高可用性: キューをクラスター内のマシンにミラーリングして、ハードウェアの問題があってもメッセージのセキュリティを確保できます。 ;

  • 複数のプロトコルのサポート: 複数のメッセージ キュー プロトコルをサポート; サーバー側は Erlang 言語で書かれており、考えられるすべてのプログラミング言語をサポートします;

  • 管理インターフェイス: RabbitMQ には、ユーザーがメッセージ ブローカーのさまざまな側面を監視および管理できる使いやすいユーザー インターフェイスがあります。

  • 追跡メカニズム: メッセージが異常な場合、RabbitMQ は、ユーザーが何が起こったのかを知ることができるように、メッセージ追跡メカニズムを提供します;

  • プラグイン メカニズム: 多くのプラグインが、さまざまな側面で拡張するために提供されています。独自のプラグイン;

2 ActiveMQ

ActiveMQ は Apache によって作成され、ActiveMQ は JMS1.1 および J2EE 1.4 標準 JMS を完全にサポートしています。プロバイダーの実装。非常に高速で、複数の言語クライアントとプロトコルをサポートし、エンタープライズ アプリケーション環境に簡単に組み込むことができ、多くの高度な機能を備えています。

主な機能:

  • JMS 仕様への準拠: JMS 仕様は、次のような適切な標準と保証を提供します。 同期または非同期のメッセージ配布、1 回限りのメッセージの配布、メッセージ受付や購読など。 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 は開発者を念頭に置いて設計されています。したがって、シンプルで使いやすい管理機能を提供するため、専任の管理者は必要ありません。 ActiveMQ のさまざまなレベルでデータを監視するには、JConsole または ActiveMQ の Web コンソールでの JMX の使用、JMX アラーム メッセージの処理、コマンド ライン スクリプトの使用など、さまざまな方法があります。さまざまな種類のログを監視することもできます。

3 RocketMQ

RocketMQ は Alibaba のオープン ソース製品です。Java 言語で実装されています。設計中に Kafka を参照し、いくつかの機能を作成しました。独自の改良により、メッセージの信頼性が Kafka よりも優れています。 RocketMQ は、Alibaba Group で注文、トランザクション、リチャージ、ストリーム コンピューティング、メッセージ プッシュ、ログ ストリーミング、binglog 配布、その他のシナリオで広く使用されています。

  • は、高性能、高信頼性、高いリアルタイム性と分散特性を備えたキュー モデルのメッセージ ミドルウェアです。

  • Producer、Consumer、キュー

  • Producer はメッセージをいくつかのキューに順番に送信し、そのキュー コレクションは Topic と呼ばれます。Consumer がブロードキャスト消費を行う場合、1 つのコンシューマ インスタンスはこの Topic に対応するすべてのキューを消費します。クラスター消費を行う場合、

  • 複数の Consumer インスタンスがこのトピックに対応するキュー セットを平均して消費します。

  • は厳密なメッセージを保証できます。 ;

  • リッチ メッセージ プル モードを提供;

  • サブスクライバーの効率的な水平拡張機能;

  • リアルタイム メッセージ サブスクリプション メカニズム;

  • 10 億レベルのメッセージ蓄積機能;

  • 依存関係の軽減;

4 Kafka

Apache Kafka は、分散型メッセージ パブリッシュおよびサブスクリプション システムです。元々は LinkedIn によって独自の設計に基づいた分散コミット ログ システム (分散コミット ログ) として実装され、後に Apache プロジェクトの一部となりました。 Kafka システムは高速で、スケーラブルで、耐久性があります。その分割特性、複製可能性、耐障害性はすべて優れた機能です。

  • 高速永続化、メッセージ永続化は O(1) システム オーバーヘッドで実行可能;

  • 高スループット、通常のコンピュータ上でのスループット レートサーバー上で 10W/s を達成できます。

  • 。完全に分散されたシステム、ブローカー、プロデューサー、およびコンシューマーはすべてネイティブかつ自動的に分散をサポートし、ロード バランシングを自動的に実現します。

  • 同期レプリケーション HA と非同期レプリケーション HA の両方をサポートします。

  • #データのバッチ送信とプルをサポートします。

  • zero- copy: IO 操作手順を削減します。

  • データの移行と拡張はユーザーに対して透過的です。

  • マシンはダウンタイムなしで拡張できます。

  • #その他の機能: 厳密なメッセージ シーケンス、リッチ メッセージ プル モデル、効率的なサブスクライバ水平拡張、リアルタイム メッセージ サブスクリプション、10 億レベルのメッセージ蓄積機能、定期的な削除メカニズム;

以上がメッセージキューとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート