そして、春の 統合
ポンポン ファイル
使用Mavenの、ここで使用4.3.11は、ので、ここでウサギの導入がされて いる あなた自身の互換性は、その後、春に行けば、2.0.0 チェックする公式サイト
ここでは春は、追加 のネイティブパッケージングのためにも導入
統一された構成
プロファイル名のスペースを増やします
接続設定:
クライアント接続
構成管理
プロデューサーの終了(基本構成)
RabbitTemplate
以下のような宣言やも可能です。
キューを切り替えて、
そして、スイッチは、キュー構成ファイルのプロデューサーに増加させることができます
メッセージを送信する場合、rabbitTemplateを使用することができます。また、メッセージ属性に設定することが MessagePropertiesを。
生産や消費者の打ち上げだけであれば、イベントを防止し、または送信するようにここで再び、生産者と消費者がスイッチを肯定することができ、断言キューは、関係を結合、一般的なプロセスは、同じ構成の生産者と消費者であります消費データは問題ではありません。
消費者端(基本構成)
キューやスイッチ、
消費者はまた、設定されたキューを切り替え、キューと指定されたルートキースイッチが結合されてもよいです
消費者豆
二つの方法、1つの設定ファイルのコメントカスタムプロファイル
アノテーション定義
モニターのコンテナ
消費者の豆 とキューリンク
コード
消費者はMessageListenerインタフェースを実現することができます。
生産者側(高度な設定)
送信者の確認コールバック
そして、ネイティブ実装で同様のコードは、RQ-注文下記参照 パッケージ構成
失敗コールバック通知
実装とネイティブほとんど
消費者側(高度な設定)
マニュアルの確認
実装とネイティブほとんど
チャネルチャネルは、ここで取得することができ 、その後、同じネイティブに特定の操作を。それぞれの場合にネイティブに対処するためにあなたのビジネスシナリオに応じてされることを思い出してください。
QoSの
そしてSpringBoot 統合
ポンポン ファイル
このSpringboot 我々が使用しているバージョン 2.1.1を、維持し、我々はSpringbootを説明する バージョンの一貫性
ここSpringBootは また、ネイティブパッケージ、共感している 春 に導入された のRabbitMQ
統一された構成
接続構成の設定
これは、私たちがしていることを確認するために、送信者を追加し、仮想マシンを含んでいます
接続ファクトリー
コンフィギュレーション・クラス
RabbitTemplate
キューとスイッチと結合関係
生産者はRabbitConfigを構成することができる キュークラスとスイッチを増やします
デフォルトのスイッチ(直接)
いかなる結合関係がスイッチとの間で確立されていないが存在する場合、デフォルトでは、キューを宣言し、システムのデフォルトは、デフォルト割り当てる デフォルトのキュー名に一致する、(また、複数のキューである)スイッチ
トピックの種類
ファンアウトタイプ
送信者の障害通知
送信者の確認コールバック
プロデューサー
デフォルトでは(直接結合交換キュー)
HelloReceiver、UserReceiver
トピック・スイッチ(バインドキュー)
TopicEmailMessageReceiver、TopicUserMessageReceiver
ファンアウト・スイッチ(バインドキュー)
FanoutReceiver
消費者
デフォルトでは(直接結合交換キュー)
HelloReceiver、UserReceiver
トピック・スイッチ(バインドキュー)
TopicEmailMessageReceiver、TopicUserMessageReceiverFanoutスイッチ(バインドキュー)
FanoutReceiver
デモンストレーション効果
一般的なタイプ(直接 交換)試験
http:// localhost:8080 /ウサギ/ハロー
プロデューサー
消費者
シンプルな消費者
消費者の手動確認
ブロードキャスト型(ファンアウト 交換)試験
http:// localhost:8080 /ウサギ/ fanoutTest
プロデューサー
消費者
シンプルな消費者
トピック タイプ(トピック 交換)試験
http:// localhost:8080 /ウサギ/ topicTest
実用化 - デカップリングの応用
シーン:
成功した注文処理後、商品を購入する顧客の注文の下では、控除する在庫は、このシーンでは、注文システムは、生産、消費者の在庫システムです。
在庫は、在庫が直接控除することができ、ビジネスに何のインベントリを差し引かれてはならない特定のしきい値以下に、あなたは成功を差し引くことができますが、できるだけ早くな調達通知調達システムなど他のシステムを(通知し、顧客の注文を知らせます我々は)できるだけ早く貨物システムを転送します。
RPC 達成
RPC経由 あなたが見ることができ、達成 RPCの 原因カップリングを。在庫システムに障害が発生したら、システムは注文が失敗に従います。私たちは、在庫システム障害自体は、発注システムと在庫システムをデカップリング、ビジネスプロセスにオーダー実行システムに影響を与えないことを願っています。
RabbitMQ 実装
私たちのメッセージモードの実現のため、在庫が控除されなければならないことを確実にするために、我々はいくつかの質問を検討する必要があります。
1、システムの受注が発行されたMQ 控除を株式メッセージングサーバーがある必要があります のMQ サーバー受け取り、それは、送信者の確認を使用することを意味します。
2、のMQ サーバーは常にメッセージの控除が正しく在庫サービスを処理する前に、あなたがメッセージの永続性を必要とする株式に保管しなければなりません。
3、在庫サーバは、他の通常のインベントリプロセスにサービスを提供することができるようにする問題が、メッセージの控除の在庫で、私たちは、消費者が自動確認を使用することはできませんが、マニュアルの確認を使用する必要があり、自分の消費を、確認する必要があります。
そのため、生産者はシステム側を注文する必要がある とき、永続的メッセージ、設定、確認コードの送信者、持続性のためのキュー構成ファイルとスイッチを。
在庫システム、ここで消費者が手動で確認するようにします。