メッセージキュー について書いている連載の続きとして、今週末は分散型メッセージングを実行するための様々なライブラリを詳細に分析していきたいと思います。今回の分析では、APIの特性、デプロイメントやメンテナンスの容易さ、そしてパフォーマンスの質を含めて2、3種類の異なる側面に着目します。メッセージキューは2つのグループに分類できます。ブローカレス(brokerless)とブローカード(brokered)です。ブローカードなキューはエンドポイント間に何かしらのサーバを挟んでいますが、ブローカレスなメッセージキューは、メッセージ送信の際でも間に何も挾まないP2Pです。 今回分析するのは以下のシステムです。 ブローカレス nanomsg ZeroMQ ブローカード ActiveMQ gnatsd Kafka Kestrel NATS NSQ RabbitMQ Redis 取り掛かりとして、ほぼ間違
Redis でタスクキュー (1) の続きです。優先順位のあるタスクについて。 タスクに優先順位があって、優先度の高いタスクは低いタスクより先に処理したい、という場合は、優先度ごとに複数のLISTを用意することで対応できます。BLPOP / BRPOP は複数のLISTを受け取ることができ、必ず左のLISTから順に処理する、という性質を利用します(…というよりは、BLPOP / BRPOP 自体がタスクキュー・メッセージキューのために用意されていると思っていいはず)。 Redis 2.8.8, Python 3.4.0, redis-py 2.9.1 で動作を確認しています。 (少し変更した) Provider メソッド 指定されたLISTに、要素を右から追加します。 def provider(conn, name, total_tasks, queue, sleep=0.1): """
Jörgen Modin is an IT consultant and trainer who works with web based and mobile based systems. Jörgen can be reached at jorgen@webworks.se. I have just finished writing a message queue based system and I used Redis as the message queue system. I have just run the system in production for a couple of days, but I already have some thoughts on how I would like a message queue system to work, and wha
This is the engineering blog from the hackers at Wingify
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く