まず、なぜべきメッセージキューの使用
1.デカップリング及び非同期
システムモジュール間の結合度を低減しつつ、非同期呼び出し同期呼び出しになることが、メッセージキューを使用して
2.クリッピング
システム圧力が大きすぎると、オブジェクト、メッセージキュー内のキャッシュの動作は、メッセージが戻って連続運転読み込まれ、ピーククリッピングを達成
3.多重化(スケーラビリティ)
あなたはシステムのシステムAの複数のメッセージを送信したい場合は、追加の各サブシステムの場合は、コードは、メッセージ・キューを使用して、システムAを変更する必要があり、システムAは、メッセージキューにメッセージを送信し、他のシステムがメッセージを読むことができます。ただ、メッセージキューに、新しいシステムがあったときにメッセージを読み取ります
第二に、予防策の必要性
使い勝手を向上1.ノート
MQサーバーがダウンし、バックアッププログラム。
2.システムの複雑さを向上させるため
- メッセージを繰り返し、消費の問題
- メッセージ損失の問題
- メッセージ配信の順序の問題
3.一貫性
メッセージとマルチプロセッシングシステムは、同期呼び出しが失敗が非同期呼び出しを使用して、直接であってもよい返す方法をメッセージキュー処理
第三に、一般的なメッセージングミドルウェア比較
ActiveMQの | RabbitMQの | RocketMQ | カフカ | |
---|---|---|---|---|
実装言語 | ジャワ | アーラン | ジャワ | スカラ |
スループット | 一万 | 一万 | 100,000 | 100,000 |
エージング | ミズ | マイクロ秒 | ミズ | ミズ |
可用性 | ハイ(マスター・スレーブ) | ハイ(マスター・スレーブ) | 非常に高い(分散) | 非常に高い(分散) |