Javaの最も一般的な面接の質問:モジュール14

フォーティーン、RabbitMQの

 

135 RabbitMQの使用シナリオは何?

 

①。システム間で非同期通信が、すべてはあなたがメッセージキューを使用することができ、非同期対話を必要とします。我々は(同期)を呼び出すよう加えて、我々はまた、テキストメッセージ、電子メール(非同期)通信を送信する必要があります。

 

②。複数のアプリケーション間の結合を、メッセージは、言語に依存し、プラットフォームに依存しないはありませんが、もはや、意味的に関数呼び出し、及び疎結合複数のアプリケーションの間のインターフェースとしてしたがって、より適しているからです。カップリングベースのメッセージキュー、送信者と受信者が同時にオンラインである必要はありません。エンタープライズアプリケーション統合(EAI)、ファイル転送、共有データベース、メッセージ・キューに、リモート・プロシージャ・コールは、統合的なアプローチとして使用することができます。

 

③このような注文処理などの塗布工程における同期変動は、キュー内の順序情報の前端に適用することができ、メッセージ処理アプリケーションの後端は、キューバックログピークの注文多数のゆっくり配置することができる場合、キューから順次取得します。同期が通常意味するので、ブロッキングとスレッドのブロックされた多数のコンピュータのパフォーマンスが低下します。

 

④。メッセージ駆動型アーキテクチャ(EDA)は、システムは、メッセージキューに分解され、メッセージプロデューサおよびメッセージ・コンシューマは、プロセスフローは、キュー、正面位相との間に接続された複数段(ステージ)必要ならば、に分割することができキュー結果の処理のステージは、ステージは、キューからメッセージを取得し、処理を継続します。

 

⑤。カップリングアプリケーションは、パブリッシュおよびサブスクライブ、たとえばあなたはルーティングルールを指定することができるよう、より柔軟な方法が必要です。

 

⑥。LAN経由であっても、そのような広州部屋のアプリケーションとの通信北京ルームなど都市通信(CDN業界)、全体で。

 

そこに重要な役割136のRabbitMQは何ですか?

 

生産者、消費者、エージェント:RabbitMQのが重要な役割を持っています:

 

  • メーカー:メッセージの作成者は、作成およびメッセージサーバにデータをプッシュする責任があります。

  • 消費者:処理データおよび肯定応答メッセージのメッセージ受信部と

  • エージェント:RabbitMQのがあるだけで、「エクスプレス」の役割を果たし、自身がメッセージを生成しません「表現」の役割を再生するために、自分自身です。

 

そこに重要なコンポーネント137のRabbitMQは何ですか?

 

  • ConnectionFactory(接続管理)アプリケーションマネージャウサギ、使用されるプログラム・コードとの間の接続を確立します。

  • チャンネル(チャンネル):フィードチャネルメッセージで使用されます。

  • 交換(スイッチ)、割当てメッセージを受信します。

  • 待ち行列(キュー):メッセージプロデューサを記憶します。

  • RoutingKey(ルーティングキー):スイッチに割り当てるためのデータ生成。

  • BindingKey(バインドキー):キューにバインドされた交換用のメッセージ。

 

バーチャルホストでの138のRabbitMQがある役割は何ですか?

 

バーチャルホストは、仮想ブローカー、すなわちミニのRabbitMQサーバーとして理解することができます。それは別のキュー、交換や結合などが含まれていますが、最も重要なことは、独立した機関システムは、ユーザーがバーチャルホストの範囲を制御するために行うことができるということです内部。もちろん、RabbitMQの、異なる権限を分離する手段としてのバーチャルホストのグローバルな視点から(典型的な例は、異なるアプリケーションが異なる仮想ホストで実行可能です)。 

 

ニュースの送信方法139 RabbitMQの?

 

まず、クライアントは、クライアントとウサギサーバ間のTCP接続を作成し、公開したメッセージを消費するのRabbitMQサーバーに接続する必要があり、一度開いたと認定(ユーザー名とパスワードのウサギのサーバーに送信された証明書を)TCP、あなたをクライアントとRabbitMQのは、AMQPチャネル(チャネル)を作成し、チャンネルは「本物の」TCPでの仮想接続を作成することで、AMQPコマンドが送信チャネルを介してあり、各チャンネルは、それが解除されたか否か、一意のIDを持っていますメッセージは、サブスクリプション・キューは、このチャネルを経て完成されています。

 

140は、メッセージの安定性を確保するためにどのようにRabbitMQの?

 

  • これは、機能の業務を提供します。

  • (確認応答)モードを確認するためにチャンネルを設定すること。

 

141は、メッセージの損失を回避する方法RabbitMQの?

 

  1. 消息持久化

  2. ACK応答メカニズム

  3. クラスタミラーモードを設定します

  4. メッセージ補償機構

 

成功のためのメッセージの永続性の条件があることを確認するために142?

 

  1. 文のキューはtrueに耐久性のあるセットを永続化するために設定する必要があります。

  2. 永続モードが設定されなければならないプッシュ・メッセージの配信は、配信モード2(永続的)に設定します。

  3. メッセージは、永続的なスイッチが到着しました。

  4. メッセージは永続キューを到着しました。

 

これらの4つの条件は、成功するためのメッセージの永続性を確保するために満たされています。

 

143のRabbitMQ永続短所は何ですか?

 

土地の持続的な欠如は、スループットを低下させるため、代わりにメモリ・ストレージを使用してのディスクサーバのスループットを減少させることです。SSDハードドライブは、スループットの問題を軽減するために利用することができます。

 

放送のいくつかの種類があり144のRabbitMQですか?

 

ブロードキャストモードの三種類:

 

  1. ファンアウト:キューのこの交換へのすべてのバインド(メッセージを受け取ることができRabbitMQの受信者に純粋な放送、バインド)メッセージを受信することができます。

  2. ダイレクト:routingKeyと決定したユニークなキュー交換介してメッセージを受け取ることができます。

  3. トピック:すべての適格routingKey(この場合は表現することができる)メッセージ・キューを受け取ることができるroutingKeyに結合します。

 

遅延メッセージキューを達成するためにどのように145 RabbitMQの?

 

  1. デッド・レターメッセージを入力してスイッチを満了し、その後、遅延機能を実現するために、消費者のキュー遅延にスイッチによって転送されます。

  2. RabbitMQの遅延メッセージ交換プラグイン実装遅延機能を使用。

 

146のRabbitMQクラスター使用することは何ですか?

 

以下の二つの目的で主にクラスタ化:

 

  • 可用性:サーバーの問題、全体のRabbitMQは使い続けることができます。

  • 大容量:クラスターはより多くの情報量を運ぶことができます。

 

ノード147のRabbitMQは何の種類?

 

  • ディスクノード:メッセージがディスクに保存されます。

  • メモリノード:メッセージはメモリに格納されているが、ディスクタイプよりもサーバーメッセージ損失、より高い性能を再起動します。

 

注意が必要なものを発行する148のRabbitMQクラスタのセットアップ?

 

  • ノード「--link」接続の間で使用される、この属性は無視することはできません。

  • 同じものを使用しなければならない各ノードのアーランクッキー値は、この値は、各ノードを認証するための「キー」機能に対応します。

  • クラスタ全体をディスクノードが含まれている必要があります。

 

149 RabbitMQの各ノードは他のノード、それの完全なコピーでありますか?なぜ?

 

いいえ、二つの理由:

 

  1. 収納スペースを考えてみましょう:各ノードは、すべてのキューの完全なコピーを持っているので、唯一のストレージ容量を追加するためにノードを追加するものではありませんが、より多くの冗長データを追加した場合。

  2. パフォーマンスの考慮:あなたは、各クラスタノード、単一ノードまたはさらに悪いのと同じ性能を維持するために、メッセージを処理する能力を向上させていない新しいノードに各メッセージの完全なコピーが必要な場合。

 

150 RabbitMQのクラスタノードだけ一枚のディスクには何が起こるクラッシュ?

 

専用ディスクのディスクノードがクラッシュした場合、次の操作を行うことはできません。

 

  • あなたは、キューを作成することはできません

  • あなたは、交換を作成することはできません

  • あなたは、バインディングを作成することはできません

  • あなたは、ユーザーを追加することはできません。

  • あなたは、権限を変更することはできません

  • あなたは、クラスタノードを追加および削除することはできません

 

唯一のディスクノードがクラッシュすると、クラスタが稼働して保持することができますが、何も変更することはできません。

 

151 RabbitMQのクラスタノードの停止順序は、要件を持っていますか?

 

RabbitMQのクラスタストップオーダーを使用すると、メモリノードをオフにし、最終的にディスクノードを閉じる必要があり、必要とされます。順番が正反対である場合、それはメッセージの損失を引き起こす可能性があります。

 

(終わり)

おすすめ

転載: www.cnblogs.com/xiaofengwang/p/11258155.html