タイプ紹介AMQPプロトコルは
、ロシア語のAMQPの記事
RabbitMQで
詳しく説明されています
。AMQPの 紹介 AMQPは使用方法であり、繰り返し
たくありません。
AMQPは、キューサーバーで使用されます:
ZeroMQ 、
ActiveMQ 、
RabbitMQ 。
他のフリーソフトウェアに対するRabbitMQの利点:
-プロトコルがより完全に提示され、
-クラスターをサポート、
-マルチスレッドサーバーとして実装され、高性能
WEB開発でAMQPが広く使用されているのは、その使用に必要なスキル(実践)の不足と低いカスタマーサポートという2つの理由に制約されています。 基本的に、c、java、python、c#にクライアントがあります。 WEB開発におけるPHPの人気は、AMQPクライアントを見るのが残念です。
現在、次のPHPクライアントが開発されています。
-php-amqplibプロトコルはPHPで完全に実装されています。 個人的には、開始できませんでした。AMQPブローカーとの接続クラスでハングします。 誰もがそれを起動できる場合、あなたの経験を共有していただければ幸いです。
-php-amqp -
RabbitMQ-Cクライアントライブラリを使用した拡張。 メッセージを公開する機能のみが実装されています。
-php -rabbit -RabbitMQ-Cクライアントライブラリ
hg.rabbitmq.com/rabbitmq-cを使用した拡張機能。 プロトコルは実践のために十分に使用されています。 私が開発してサポートしているので、建設的な対話の準備ができています。
PHP-RabbitをRabbitMQコミュニティに紹介した後、彼らはロシア語を話すRabbitMQコミュニティに、RabbitMQの開発者の1人である
Dmitry Samovskyを含む独自のロシア語を話すディスカッショングループを作成することを
提案しました。グループ アドレスhttp://groups.google.com/group/rabbitmq_rus Wellcomeへの参加をご希望の方!!!
使用例:// queue declare queue.php
$rabbit = new Rabbit(); // default connection localhost:5672
//user=guest psw=guets vhost="/"
$rabbit->queue("q_test"); // declare queue "q_test"
// queue declare queue2.php
$rabbit = new Rabbit(); // connection
$rabbit->queue("q_test2"); // declare queue "q_test2"
// exchange declare exchange.php
$rabbit = new Rabbit(); // connection
$rabbit->exchange('e_test', "topic"); // topic exchange declare
$rabbit->bind('e_test','q_test','key_test.t1'); // bind exchange to queue "q_test" by key="key_test"
$rabbit->bind('e_test','q_test2','key_test.t2'); // bind exchange to queue "q_test2" by key="key_test2"
// publishing to queue1 publish.php
$msg = array(
'message1','message2','message3','message4'
);
$rabbit = new Rabbit(); // connection
foreach ( $msg as $item ) // // publishing to queue1
$rabbit->publish('e_test','key_test.t1',$item);
// publishing to queue2
foreach ( $msg as $item ) // // publishing to queue2
$rabbit->publish('e_test','key_test.t2',$item."01");
// reading all messages from queue: consume.php
$rabbit = new Rabbit(); // connection
$count=$rabbit->queue("q_test");
$res =$rabbit->consume("q_test", $count)
var_dump($res);
// $res is array of messages;
// reading some messages from queue: queueItems.php
$rabbit = new Rabbit(); // connection
$count=$rabbit->queue("q_test2");
for ( $i=0; $i<$count;$i++ ){
$res = $rabbit->queueItem("q_test2" );
print_r( $res );
}
タイプエピローグ次の投稿では、拡張機能の実用化と機能について説明します。