如何在 JeroMQ 中实现主备队列作业处理系统?

How to implement an active & standby queue job-processing system in JeroMQ?

使用 ZeroMQ .Context.Socket 实例,我能够 push/pull 消息
例如下面我的队列代码如下设置:

 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();

我的问题是:

Q1:如何实现队列主备模式?

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

任何实施它的示例或指南都会更有帮助。

Q2:是否有任何内置的Class来完成这类任务?

您可以实施某种 binary start pattern。您的队列需要一个发现服务(在另一对套接字上)来了解彼此的状态。如果我没记错的话,没有标准功能可以创建这样的队列。