最近、同社のメッセージキューミドルウェアを選択しました。ActiveMQ、RabbitMQ、ZeroMQ、Kafka、AlibabaのRocketMQなど、多くのオープンソーステクノロジーが市場に出回っています。
非常に多くのテクノロジーがあるため、どのように選択すればよいですか?
まず第一に、AlibabaのRocketMQはAliによってオープンソース化されているため、国内のオープンソースに対して慎重な姿勢を維持し、一時的にこのミドルウェアを採用していません。
したがって、メッセージキューミドルウェアとして選択できるのは、ActiveMQ、RabbitMQ、ZeroMQ、Kafkaのいずれかのみです。
いくつかの側面から比較してみましょう
1.コミュニティ活動
現在のオンライン情報から、RabbitMQ、RabbitMQ、ActiveMQ、ZeroMQは間違いなく最初の選択肢です。
2、消息持久化
ZeroMqはメッセージの永続性をサポートしていません。ActiveMQとRabbitMQの両方がサポートされています。
3.コアテクノロジー
信頼性、柔軟なルーティング、クラスター、トランザクション、高可用性キュー、メッセージシーケンス、問題追跡、ビジュアル管理ツール、プラグインシステムなど。
RabbitMq / Kafkaが最高、ActiveMQが2番目、ZeroMQが最低です。もちろん、ZeroMQもそれを行うことができますが、達成するために手動でコードを書く必要があります。ワークロードは小さくありません。特に信頼性:耐久性、配信確認、発行元確認、および高可用性。
4.高い並行性
RabbitMQは高い同時実行性と高可用性を備えて生まれたアーラン言語によって実装されているため、RabbitMQが最高であることは間違いありません。
上記の比較は、同様のソースネットワークを参照しています。結論は、RabbitMQとKafkaの間で適切なものを選択する必要があるということです。RabbitMQとKafkaは間違いなく現在市場に出ている2つのメッセージキューミドルウェアであり、ネットワーク情報とインタビューの要件から見ることができます。
2つの非常に包括的な評価については、次を参照してください。
選ぶ方法は??
全体として、分散メッセージングミドルウェアのKafkaとRabbitMQには、業界での認知度、サービスサポート、信頼性、保守性、互換性、使いやすさの点で独自の特性があります。Kafkaはオープンソースライセンス、製品アクティビティ、パフォーマンス、セキュリティ、スケーラビリティの点でRabbitMQよりも優れており、Kafkaはよりリラックスしたライセンスとより高いアクティビティを使用しており、そのパフォーマンスはRabbitMQよりはるかに高くなっています。アスペクトはより良い保護を提供できます。KafkaはRabbitMQよりも機能が少しだけ劣りますが、すでに主要な機能を備えています。
上記のすべての評価結果に基づいて、カフカを選択することにしました。
私はブログを読んで詳細を読むことをお勧めします:
1. Java JVM、コレクション、マルチスレッド、新機能シリーズのチュートリアル
2. Spring MVC、Spring Boot、Spring Cloudシリーズのチュートリアル
3. Maven、Git、Eclipse、Intellij IDEAシリーズのツールチュートリアル
4. Java、バックエンド、アーキテクチャ、Alibabaおよびその他の主要メーカーに対する最新のインタビューの質問
人生は美しいです、また明日ね