AMQPは現在PHPにもあります

タイプ紹介

AMQPプロトコルは、ロシア語のAMQPの記事RabbitMQ詳しく説明されています。AMQPの 紹介 AMQPは使用方法であり、繰り返したくありません。



AMQPは、キューサーバーで使用されます: ZeroMQActiveMQRabbitMQ



他のフリーソフトウェアに対する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 );

}







タイプエピローグ

次の投稿では、拡張機能の実用化と機能について説明します。



All Articles