如何在JeroMQ中实现活动和备用队列作业处理系统?

Abh*_*yak 9 java sockets zeromq jeromq

使用ZeroMQ .Context.Socket实例,我能够推送/拉取消息
,例如在我的代码下方为队列设置:

 ZMQ.Context context = ZMQ.context(1);

 //  Socket to send messages on
 ZMQ.Socket sender = context.socket(ZMQ.PUSH);
 sender.bind("tcp://*:5557");

 // Send messages
 sender.send("0", 0);

 ZMQ.Socket receiver = context.socket(ZMQ.PULL);
 receiver.connect("tcp://localhost:5557");

 // receive messages
 String string = new String(receiver.recv(0)).trim();
Run Code Online (Sandbox Code Playgroud)

我的问题是:

Q1:如何在队列中实现主用/备用模式?

我的意思是将为一个主机和端口创建2个队列,如果一个队列(活动)发生故障,另一个(即备用)队列将立即启动以侦听/拉取消息.

任何实现它的示例或指导都会更有帮助.

Q2:是否有内置类来执行此类任务?

Don*_*nic 5

你可以实现某种二进制启动模式.你的队列需要一个发现服务(在另一对套接字上)来了解彼此的状态.如果我没有弄错的话,没有标准功能来制作这样的队列.