2011-06-27 23 views
1

我們如何使用RabbitMQ服務器實現Master_slave配置。 我已經在很多地方看過並親身體驗過Master_slave in RabbitMQ

「羣集下的RabbitMQ節點不能真正共享除cookie文件外的其他文件,腳本本身確保它創建的文件夾和文件名稱前綴爲」 $ NODE_ID $「,這樣該節點的所有文件都將在一個文件夾內創建,它基本上創建了兩個主文件夾,它們會執行以下操作: a。db:創建名爲」$ NODE_ID $「的文件夾「-mnesia並創建其中的所有db文件 b。log:創建名稱前綴爲」$ NODE_ID $「的文件
即使我們調整兩個節點的腳本以指向相同的mnesia文件夾,代理的第二個實例由於mnesia鎖定問題將無法啓動UE與以下錯誤:

{"init terminating in do_boot", 
{{nocatch,{error,{cannot_start_application,mnesia,{killed,{mnesia_sup,start,[normal,[]]}}}}},[{init,start_it,1},{init,start_em,1}]}} 
Crash dump was written to: erl_crash.dump init terminating in do_boot()". 

所有我想知道的是,如果在一個sitation,其中有2個節點的「主」,並在集羣中,如果主人是下跌了一段時間「奴」,則該時間奴隸如何可以進入照片接收和代表主人發送消息。由於共享數據庫是不可能的。

回答

0

看看用於構建高可用集羣DRDB和心臟起搏器的指導方針:http://www.rabbitmq.com/pacemaker.html

然而,這是一個有點難以成立,所以你可能更願意等待幾個星期,隨着下一個主要版本將包括對集羣冗餘隊列的支持。查看更多有關在這裏的附件:

http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-June/013304.html

+0

感謝link.I就已經出現了這種聯繫,但我沒有太多的時間來實現整個起搏器啄。我想可能有其他辦法。反正謝謝你的回覆。 ;) –