自己紹介
- ソリューション・コンサルティング部 技術グループ
- 本ブログをご覧いただき、ありがとうございます。
株式会社ヒューマンインタラクティブテクノロジー(HIT)の技術グループ担当者です。
弊社ホームページ
2015年1月24日土曜日
HornetQについてさわってみた。
しんです。
新年の一発目の技術ネタを。
JBoss Enterprise Application 6 (JBossEAP6) 周りに
どっぷりつかっている今日この頃です。
その中でもJBossEAP6のメッセージングシステムである「HornetQ」に
触れる場面が多かったので、得られたことをブログに書きます。
【HornetQとは】
HorneteQは、JBossから生まれたオープンソースの非同期メッセージングサービスです。
詳しくは、HornetQのサイトを見てください。
【キューのサイズ】
HornetQの特徴の中で、今回のブログに載せるのは、「キューのメモリ制限」です。
(語弊を恐れず言うならば、)キューメモリのサイズといったものはありません。
仕組み上は無制限となります。(詳しくはこちらを参照)
仕組みとしては、受け付けたメッセージのサイズと設定された内容をもとに振る舞いを変えており、
ディスクに書き込む、もしくは、メモリが解放されるまで処理待ちになる仕組みを持っているため、
キューサイズ以上のメッセージが届いてメッセージがロストといった結果にはならないようです。
ポイントは、以下の2つのパラメータです。
max-size-bytes:メッセージの最大サイズ
address-full-policy:振る舞い
設定箇所は以下の通りです。(標準的なインストールで、fullプロファイルを利用しています。)
/subsystem=messaging/hornetq-server=default/address-setting=#/max-size-bytes /subsystem=messaging/hornetq-server=default/address-setting=#/address-full-policy
上記の「address-full-policy」に定義できる要素は、以下の4つの要素となります。
DROP:メッセージを破棄する。
PAGE:ページング処理を実行して、ディスク上にメッセージの内容を出力する。
BLOCK:キューに格納されているメッセージ総量が「address-full-policy」を下回るまで、処理待機。
FAIL:エラーが発生。
詳しくはこちらを参照。
【次回は?】
次回は、もう少し試した結果を載せてみたいと思います。
ひとまず、今回はここまで。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿