以前にソケットを使ってTwitterStreamingしていたものをphp-zmq を使ってZeroMQベースの中継にしてみた。 ソケットを自分で扱うときにはちょこっと工夫が必要だったのだが今回はソケット周りが非常にシンプルにまとまった。 ソケットを使っているときには、ツイートを受信するたびに、接続されている全てのソケットに順番にsocket_write()していたものを、下記のようにするだけでメッセージを不特定多数に対して発信させることができる。 $publisher = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_PUB); $publisher->bind("tcp://127.0.0.1:5555"); $publisher->send("hogehoge"); また受信は基本的にこんな感じ。(継続的にメッセージを受信するためにはこれを
ØMQ(zeromq)について簡単に調査したのでメモ。元ネタはØMQ - The Guide。 概要 N-N通信を実現する、socket API風軽量メッセージングライブラリ。 自動的な再接続や、メッセージのキューイングを行ってくれる。 複数のメッセージングパターンと呼ばれるものを組み合わせることによって、柔軟なメッセージ配信を行うことができる。 ライブラリについて socket APIライクなC APIを持つ。以下socketは、zeromqのsocketを指す。 zeromqはコンテキストというものを通じて使う。1コンテキストに、I/Oスレッドが1つ割り当てられる。基本1プロセスに1コンテキストでOK。複数のcontextを持つことはできるし、その場合は同じ個数のI/Oスレッドが走る。 zeromqのsocketは、プロセス内通信(スレッド間通信など)、プロセス間通信、TCP、UDPマ
生まれ変わった「Days of Liris」。プログラミングのこと、Pythonのこと、気になったソフトウェアのこと、身の回りのこと、いろんなこと。など MQ関係は「遅い!機能過多!」というイメージがあって敬遠していました。最近、もう一度調べ直しています。その中でZeroMQと言う変なのがいるらしい、と言うことで、しばらくはZeroMQ関係のお話です。ざっとドキュメントを読んだ感想は、MQと言うより、ネットワークをもう少し抽象化して、ユニキャスト、ブロードキャストを簡易に使えるようにしている、と言うものです。そのため、APIもとても薄くローレベルなものです。僕はこれくらいのものが好きだったりします。 トップページには次のように特徴を書いています。 並列フレームワークとして振る舞うソケットライブラリ プロセス間, IPC, TCP, マルチキャストを横断的にメッセージ伝搬 fanout, p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く