Message Queue を使う必要が出てきました。以前、Twitter 社の Kestrel を使ったことがあったのですが最近見てみると開発も活発でなく前途不安です。2年程度放置されている感じです。Redis の List を使うことで Message Queueは可能なのですが、クライアントライブラリが悪いのかエラーが出て、エラーを無理やりハンドリングするとワーカーのメモリがどんどん増えていくので辛い感じでした。さらにCPU負荷も高いようですし。というわけでいろいろと調べてみました。
Message Queue の定番といえば RabbitMQ、開発も活発、ということではじめて使ってみました。多くの言語でのクライアントが存在していていい感じです。
RabbitMQ は多機能で使いにくいかなと思ったのですが、私の用途では、
– Introduction
– Work Queues
– Tutorials for using RabbitMQ in various ways
の3つをみれば十分でした。英語ですが非常に分かりやすい説明です。RabbitMQ にはおおまかに、Work Queue、Pub/Sub, Routing, Topics, RPC の5つの機能があるのですが、Kestrel 的なものを考えている私にとっては Work Queue で十分です。
上記のリンクを読んで、コードを動かしてみればほぼ問題ないかと思います。RabbitMQでは、設定次第ではたとえばワーカーが落ちてしまっても、タスクは再送されるのでいい感じです。
クラスタリングや可用性を考えるとキリがないですが、単純な使い方も出来るということが分かりました。いろんな意味でおすすめ MQ です。
頻繁に追記する投稿
-
最近の投稿
カテゴリー
- Amazon Linux AMI
- Android
- Bash
- CentOS
- Cloud Instance
- C言語
- DB
- framework
- FreeBSD
- git
- H2O
- HTML
- HTML/CSS/JS
- IBM Cloud
- Java
- JavaScript
- jQuery
- Linux
- Lua
- Mac
- MessageQueue
- MySQL
- NetBeans
- Nginx
- Perl
- PHP
- Programming
- Python
- RDBMS
- Redis
- Redmine
- RHEL
- Ruby
- server
- SIM
- Socket.IO
- SQL
- Web
- Windows
- WordPress
- サーバー運用
- セキュリティ
- ネットワーク
- 分散システム
- 学習・勉強
- 日常
- 未分類
- 自作ソフト
- 開発環境
アーカイブ
- 2017年8月
- 2017年4月
- 2017年2月
- 2016年12月
- 2016年9月
- 2016年7月
- 2016年4月
- 2015年12月
- 2015年11月
- 2015年10月
- 2015年7月
- 2015年6月
- 2015年4月
- 2015年3月
- 2015年2月
- 2015年1月
- 2014年12月
- 2014年11月
- 2014年9月
- 2014年8月
- 2014年7月
- 2014年6月
- 2014年5月
- 2014年3月
- 2014年2月
- 2014年1月
- 2013年12月
- 2013年11月
- 2013年10月
- 2013年9月
- 2013年8月
- 2013年7月
- 2013年6月
- 2013年5月
- 2013年4月
- 2013年3月
- 2013年2月
- 2013年1月
- 2012年12月
- 2012年11月
- 2012年10月
- 2012年9月
- 2012年8月
- 2012年7月
メタ情報