如何实施主动& JeroMQ中的备用队列作业处理系统?

时间:2016-12-01 11:46:23

标签: 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();

我的问题是

Q1:如何在队列中实现主动/待机模式?

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

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

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

1 个答案:

答案 0 :(得分:5)

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