RabbitMQ(2.8向け)のHAクラスタ構成

RabbitMQ Highly Available Queues and Clustering using Amazon EC2 という AWS 環境での RabbitMQ クラスタ構築に関する面白い記事を見かけた。 知識の再確認のため、以下をメモ。 RabbitMQ のクラスタの構築 HA:Active-Standby(Shared Nothing) HA:Active-Standby(Shared Storage) HA:Active-Active(Mirrored Queue) RabbitMQ のクラスタリングの特徴 Erlang/OTPの 分散フレームワークをベースにしている。 ノード間でCookie(/var/lib/rabbitmq/.erlang.cookie)を同じにする ノード名(デフォルトはホスト名)をクラスタ間で重複しないようにする キューのメタ情報とキューが管理されているノードの場所はクラスタの各ノードで共有される キューの実データは管理している1ノードにしか存在しない 各ノードはRAMノードとDiskノードのどちらかを選べる Diskノードはメタ情報をRAMだけでなくディスクにも保存する。 クラスタ全体で少なくとも1ノードはDiskノードでなければいけない。 クラスタ内のすべてのDiskノードが落ちている場合、多くの更新系処理が行えなくなる 事前準備 WebUI を有効にする クラスタステータスはWebUI から確認するとわかりやすいので有効にしておく。http://HOST:55672/ のアドレスから管理画面にアクセスできる(デフォルトのID/password は guest/guest) Cookie を揃える 各ノードで /var/lib/rabbitmq/.erlang.cookie を同じにする。 1. RabbitMQのクラスタの構築 3ノード(u1204a, u1204b, u1204c)のクラスタを組んでみる 初期状態 u1204aContinue reading “RabbitMQ(2.8向け)のHAクラスタ構成”