ネイティブのJava クライアントメッセージング
ダイレクト ・スイッチ
DirectProducer:ダイレクト型交換プロデューサー
NormalConsumer:普通の消費者
MulitBindConsumer:交換体に結合キュー、ルーティング複数のキーを結合させ、結合すなわち複数 MulitChannelConsumerを:次に接続された複数のチャネルを可能にします
MulitConsumerOneQueue:コンシューマ・キューの複数の消費者の間で送信されるポーリングメッセージを示すであろう。
一般的な使用での生産者と消費者
DirectProducer:ダイレクト型交換プロデューサー
NormalConsumer:普通の消費者
プロデューサーとしてDirectProducerを使用して、NormalConsumerは、消費者として、消費者は、キューをバインド
複数のキューと交換バインディング
DirectProducer:ダイレクト型交換プロデューサー
NormalConsumer:普通の消費者
MultiBindConsumer:交換体に結合キュー、ルーティングキーを複数結合することが許可されている、すなわち、複数の結合の比較:単一の結合消費者のみ指定されたメッセージを受信し、消費者が複数結合することができますすべてのメッセージを受信しました。
接続チャネルの複数
DirectProducer:ダイレクト型交換プロデューサー
MultiChannelConsumer:下部接続チャネルの複数の可能
接続、我々は、通信のための複数のチャネルをシミュレートする複数のスレッドを使用することができます。これは、多重化を行うことができます。
複数コンシューマ・キュー
MultiConsumerOneQueue:コンシューマ・キューの複数の消費者の間で送信されるポーリングメッセージを示すであろう。
扇形に広がります
結合キューにメッセージを放送
どんなに私たちは、ルーティングキー生産者と消費者を調整する方法、メッセージの受け入れに影響を与えません。
トピック
使用して、異なるソースからのメッセージが同じキューに到着するように、「*」や「#」を「」ルーティングキーをいくつかの識別子に、「*」マッチ1 番目、「#」は、一つ以上と一致します。このような例
仮定交換topic_course、
講師は、王、マーク、ジェームズがあります
技術的な話題は、カフカ、JVM、Redisのを持っています
コースのセクションでは、A、B、Cを有しています
以下のための重要なルーティングルール 講師など+ + + +技術トピックコースの章を、「」「」:。King.kafka.A 。
*と#の違い:
我々はking.kafka.Aにキールートを送信する場合
だから、キューは王をバインドされている場合。* と一致しません
キューは王をバインドされている場合。# と一致することできます
1、すべてのコースに注意を払う、どのようにしますか?
声明とするキュースイッチにバインドされていますchannel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、「#」);
王の懸念2、 すべてのコースの教師、どのようにしますか?
ステートメントとキュースイッチにバインドされていますchannel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、「キング#」);
注意:王*はここで変更した場合 ので、それは何の情報も表示されません「*」1に一致する(スプリットアイデンティティの数を使用して。)
3、懸念王 すべての教師のセクション、どのようにしますか?
ステートメントとは、キュースイッチにバインドされていますchannel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、 "王の#のA ..");
または交換器にキューとバウンドを宣言:channel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、「王* ..」);
カフカ心配4、 すべてのコース、どのようにしますか?
ステートメントとは、キュースイッチにバインドされていますchannel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、 "#.kafka#");
すべてのBの懸念5、 セクション、どのようにしますか?
ステートメントとキュースイッチにバインドされていますchannel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、 "#1 .B");
6、懸念王 先生は、 カフカ Aを 行う方法を、セクションを?
ステートメントとは、キュースイッチにバインドされていますchannel.queueBind(QUEUENAME、TopicProducer.EXCHANGE_NAME、「king.kafka.A」);