RebbitMQ メッセージキュー (高度なアプリケーション)

RabbitMQ の高度な機能

信頼性の高いメッセージ配信、コンシューマACK、コンシューマ電流制限、TTL、デッドレターキュー、遅延キュー、ロギングとモニタリング、メッセージの信頼性と追跡、管理

RabbitMQ アプリケーションの問題

メッセージの信頼性保証、メッセージ冪等性処理、

RabbitMQクラスタ構築

Rabbitmq 高可用性クラスターの構築

コンテンツ

1.1 メッセージの信頼性の高い配信Rabbitmq をメッセージ送信者として使用する場合、メッセージの損失や配信の失敗を防ぐことが期待されます. Rabbitmq は、メッセージの信頼性の高い配信を制御するための確認確認
モードとリターン モードを提供します。
Rabbitmq は: :
プロデューサーから RabbitMQ ブローカー、交換、キュー、コンシューマ
へのメッセージ プロデューサーから交換へのメッセージは、交換からキューへの確認コールバック メッセージを返します
。配信が失敗した場合は、returnCallback が返されます。
これら 2 つのコールバックを使用して、メッセージの信頼性を制御できます。配達。

1.2 Consumer ACK
ack とは、コンシューマがメッセージを受信した後の確認方法を示す肯定応答、確認
のことで
、自動確認:acknowledge="none"、手動確認:acknowledge="manual"、異常による確認の 3 種類があります。条件:acknowledge="auto "
自動確認とは、メッセージがコンシューマーによって受信されると、自動的に受信を確認し、rabbitmq のメッセージ キャッシュから該当するメッセージを削除することを意味します。ただし、実際のビジネスでは、メッセージが受信される可能性があります。 , しかし、ビジネスは異常です。その後、メッセージは失われます。手動削除メソッドが設定されている場合は、ビジネスが正常に処理された後に、channel.basicAck() メソッドを呼び出し、手動で署名して、メッセージを再送信させる必要があります。メッセージ。

1.3 コンシューマ側の電流制限 リクエスト数は
1 秒あたり 5,000 リクエストと瞬時に増加しますが、システムの正常な動作を確保するために、rabbitmq から 1 秒あたり 1,000 リクエストをプルするように設定されています。

1.4 TTL
TTL は存続時間 (ライブ時間/有効期限) です。
メッセージがライブ時間に達すると、消費される前に自動的にクリアされます。rabbitmq は
メッセージまたはキュー全体の有効期限を設定できます。

1.5 デッドレターキュー
ここに画像の説明を挿入します

デッド レター キュー (DLX)、デッド レター交換 (デッド レター エクスチェンジ) メッセージがデッド メッセージになった場合、別の交換に送信できます。この交換は、
DLX メッセージがデッド レターになる 3 つの状況です
。キューの長さが制限 2 に達しました。コンシューマーは消費メッセージの受信 (basicNack/basicReject) を拒否し、メッセージを元のターゲット キューに戻しません。 requeue=false、3。元のキューにはメッセージの有効期限が設定されており、メッセージはタイムアウト期間に達し、消費されません。キューは
プライベート メッセージ スイッチにバインドされます。キューにバインドされます。
パラメータ
exchange およびデッド レター スイッチをバインドし、パラメータを設定します。

1.6 遅延キュー
遅延キュー、つまり、メッセージはキューに入った直後には消費されません。指定された時間に達した後にのみ消費されます。
要件: 1. 注文を出し、30 分間支払われない場合はキャンセルします。注文、在庫のロールバック、 2. 新しい ユーザー登録の 7 日後に、挨拶テキスト メッセージが送信されます 実装
方法: 1. タイマー、2. 遅延キュー、
効果を達成するために TTL と配信不能キューの組み合わせを使用します遅延キューの。

1.7 メッセージ追跡
メッセージミドルウェアを使用する場合、特定のメッセージが異常に失われることは避けられませんが、rabbitmq では、Firehose および Rabbitmq_tracing プラグインを使用してメッセージ追跡機能を実装できます。

メッセージ信頼性保証、メッセージ補償メカニズム、
メッセージ冪等性保証、オプティミスティックロックソリューション

クラスター構築

おすすめ

転載: blog.csdn.net/wangjunlei666/article/details/129197719