我使用Apache Artemis作为我的mqtt经纪人。我有一个Artemis集群,它以主从方式配置。当主服务器发生故障时,备用服务器将接管服务器,并且客户端必须连接到从服务器。主服务器和从服务器具有不同的IP。
在eclipse paho中创建MqttClient对象时,是否可以指定多个连接url(主从地址)?
就像是
MqttClient cl = new MqttClient("LIST OF IPs", "Publisher", new
MemoryPersistence());
而不只是
MqttClient cl = new MqttClient("tcp://localhost:1883", "Publisher", new
MemoryPersistence());
这样,当与第一个地址的连接失败时,将尝试与下一个地址的连接。
有人可以指导吗?非常感激。
最佳答案
多种语言的客户端库都具有此选项。可以在这里检查列表:
https://www.eclipse.org/paho/downloads.php
对于那些标记有“高可用性”的客户端,请使用“ MqttConnectOptions”指定支持的URL列表。
例:
String[] URIs = {"address1","address2"};
MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
mqttConnectOptions.setServerURIs(URIs);