メッセージ ミドルウェアには次のものが含まれます: 1. Kafka は主に高スループットのサブスクリプションおよびパブリッシング システム向けに設計されており、速度と永続性を追求しています; 2. RabbitMQ は Erlang 言語を使用して開発されたオープン ソースのメッセージ キュー システムであり、 AMQP プロトコルの実装; 3. RocketMQ は純粋な Java で開発されており、高いスループットを備えています。
メッセージ ミドルウェアには次のものが含まれます:
Kafka、RabbitMQ、RocketMQ
1 、 Kafka
Kafka は、LinkedIn のオープンソース分散型パブリッシュ/サブスクライブ メッセージング システムであり、現在はトップレベルの Apache プロジェクトです。 Kafka は主に高スループットのサブスクリプションおよび出版システム向けに設計されており、速度と耐久性を追求しています。 Kafka のメッセージは、キー、値、およびタイムスタンプで構成されます。Kafka は、各メッセージを誰が使用したかを記録しません。オフセットを通じてどのメッセージが未読であるかを記録するだけです。Kafka では、コンシューマ グループを指定して、サブスクリプションおよびパブリッシング機能を実装できます。
2. RabbitMQ
RabbitMQ は、Erlang 言語を使用して開発され、AMQP プロトコルに基づいて実装されたオープン ソースのメッセージ キュー システムです。 。 AMQP の主な機能は、メッセージ指向、キュー指向、ルーティング (ポイントツーポイントおよびパブリッシュ/サブスクライブを含む)、信頼性、およびセキュリティです。 AMQP プロトコルは主にエンタープライズ システムで、データの一貫性、安定性、信頼性が非常に高く、パフォーマンスとスループットの要件が二の次であるシナリオで使用されます。
3. RocketMQ
RocketMQ は、Alibaba のオープンソース メッセージ ミドルウェアで、純粋な Java で開発され、高スループット、高可用性を備え、大規模なメッセージ ミドルウェアに適しています。分散システム、アプリケーションの機能。 RocketMQ のアイデアは Kafka から生まれましたが、Kafka のコピーではありません。メッセージの信頼性の高い送信とトランザクションを最適化します。現在、Alibaba Group でトランザクション、リチャージ、ストリーム コンピューティング、メッセージ プッシュ、ログ ストリーミング、Binlog 配布に広く使用されています。およびその他のシナリオ。サポートされているクライアント言語は多くありませんが、現在 Java と C があり、そのうち C はまだ成熟していません;
5、Kafka、RabbitMQ、RocketMQ
の比較
1. Rabbitmq は kafka よりも信頼性が高く、kafka は ELK ログ収集などの高 IO スループット処理に適しています。
2. Kafka はスループットが高く、内部的にメッセージ バッチ処理とゼロ コピー メカニズムを採用しています。データの保存と取得はローカル ディスクのシーケンシャル バッチ操作で、複雑さは O(1) です。メッセージ処理の効率は非常に高いです。 。 RabbitMQ は、スループットの点で Kafka よりわずかに劣ります。それらの出発点は異なります。rabbitMQ は、メッセージの信頼性の高い配信をサポートし、トランザクションをサポートしますが、バッチ操作はサポートしません。ストレージの信頼性要件に基づいて、ストレージはメモリまたはハードディスクを使用できます。
以上がメッセージミドルウェアとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。