【发布时间】:2014-08-28 05:04:40
【问题描述】:
我正在尝试为我的消费者实现一个故障转移功能,用 PHP 编写。下面是结构:
<?php
require_once $root.'lib/stomp.php';
$con = new Stomp('failover://(tcp://MQ1:61612,tcp://MQ2:61612)?randomize=false');
$con->connect(username,password);
$con->subscribe($receiveQueue, array('ack' => 'client','activemq.prefetchSize' => 1));
while ($con->hasFrameToRead() == true) {
$con->begin("tx1");
if($con->isConnected() == false) {
$con->_reconnect();
}
// bla bla bla...
}
$con->disconnect();
?>
当我启动 PHP 客户端时,它能够连接 MQ1,但是在我终止 MQ1 服务器中的 MQ 服务后,它并没有故障转移到 MQ2。
我可以知道我错过了什么部分吗?或者 MQ 服务器端是否需要任何必要的配置?
提前谢谢你:)
【问题讨论】:
-
你应该让人们知道你使用的是什么客户端
-
我正在使用这个 PHP 客户端:php.net/manual/en/book.stomp.php
-
如果客户端启动,MQ1 宕机,会发生什么情况,它是否连接到 MQ2?您确定客户端支持运行时故障转移,而不仅仅是连接时间故障转移吗?
-
连接时间故障转移正在工作。目前我遇到了运行时故障转移的问题,我已经阅读了 Stomp & ActiveMQ 的官方网站,但我仍然找不到任何有关如何完成运行时故障转移的相关信息......
标签: php activemq failover stomp