あなたとrabbiitMQソースコードを楽しむ

6120 ワード

Rabbiit MQ API
ラビットMQ Serverは豊富なhttpアプリを提供しています.
列子に対して
乐趣与你rabbitMQ 源代码_第1张图片
HTTP基本認証が必要です.デフォルトのusername/passwordはgust/gusestです.
これらのリターンは意味があります.公式サイトから説明します.翻訳の問題を避けるために、皆さんの理解の誤差を直接原文に与えます.cluster_nameThe name of the entire cluster、as set with  rabbitmqctl set_cluster_name.erlang_full_versionA string with exteded detail aboot the Elang VM and how it compled,for the node connected to.erlang_versionA string with the Errlang version of the node connected to.As clusters shoruld all l the same version this can be Taken as representing the cluster.exchange_typesA list of all exchange types available.listenersAll(non-HTTP)network listeners for all nodes in the cluster.(See  contexts in  /api/nodes for HTTP).management_versionVersion of the management plugin in use.message_statsAメッセージ_stats object for everrything the user can see-for all vhosts regardless of permissions in the case of  monitoring and  administrator users、and for all vhosts the user has access to for other users.nodeThe name of the cluster node this management plugin instance is running on.object_totalsAn object containing global counts of all connections、chanels、exchanges、queues and consumers、subject to the same visibility rules as for  message_stats.queue_totalsAn object containing sums of the  messages、  messages_ready and  messages_unacknowledged fields for all queues,again subject to the same visibility rules as for  message_stats.rabbitmq_versionVersion of Rabbit MQ on the node which processed this request.statistics_db_nodeName of the cluster node hosting the management statistics database.statistics_levelWhether the node is running fine or coarse statistics.
また、あるいは、仮想ホストの多くのapiをappiで照会するURIは、仮想ホストパスの一部の名前が必要であり、名前は一つの仮想ホストのみで物体を識別する.デフォルトの仮想ホストとして「/」と呼ばれ、これは「%2 F」と符号化される必要がある.
私のデモプログラムに対応するアプリ機能はここの機能で実現できます.

より豊富な機能は公式サイトを参照して文書を説明することができます.  http://hg.rabbitmq.com/rabbitmq-management/raw-file/3646dee55e02/priv/www-api/help.html
および  http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v 3_3_5/priv/www/appi/index.
一般的に私たちがよく使うアプリケーションはすでに提供しました. すべての列を見るなど
乐趣与你rabbitMQ 源代码_第2张图片
 RabbiitMQ CommandLine
豊富なhttp app以外にも、rabitmq serverはもちろん、非常に全面的な命令があります.
例えば、すべてのexchangeを調べます.
乐趣与你rabbitMQ 源代码_第3张图片
すべてのキューと彼らが含むメッセージの数を調べます.
乐趣与你rabbitMQ 源代码_第4张图片
rabbitmqctl他にも多くの命令がありますので、参考にしてください.  http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
MessageのBaicGetとconsumeの違い
 consumeの機能上で紹介したように、Baicgetは私達が普段使っている他のタイプのMessage Queに偏っています.これは最も主要な受信メッセージです.consumeの消費はbaicgetにとって短い接続の違いです.
消費者関係がいったん固まります.基本的にデフォルトとしては、チャンネルを聞いているメッセージが生産されていますか?Baicgetはclientが手動でコントロールします.
デモの中で下図のようなところで区別します.

もしあなたが消費メッセージを選択したら、基本的にコードレベルはこのように終わります.
1
2
3
4
5
6
7
8
9var consumer = new QueueingBasicConsumer(channel);channel.BasicQos(0, 1, false);channel.BasicConsume(queue.name, rbAckTrue.Checked, consumer);while (true){    vare = consumer.Queue.Dequeue();    MessageBox.Show(string.Format(" {0} {1}, id {2}", queue.name, Encoding.ASCII.GetString(e.Body), Process.GetCurrentProcess().Id));    Thread.Sleep(1000);}著作権声明:このブログのオリジナル記事.ブログは、同意なしに転載してはいけません.