在阅读了关于ZMQ manual的load balancing broker之后,我认为在我自己的代码中实现它会很棒。所以我做了,添加了一些额外的触摸,使其更具响应性。我想要添加的一个性能增强功能是能够同时分配到多个长时间运行的工作作业。我认为我对此是正确的,但我可能是错的,所以请考虑以下关于手册中的lbbroker代码:
两名工人(客户)同时请求工作,每个人都有长期工作(由经理或经理)。在当前的代码中,它很好,因为它不会将工作循环到不同的接收者,它选择了FCFS。但是还存在一个问题,即首先需要第一个工作人员的答复,然后才能将工作分配给第二个工人。
基本上,我想尽可能快地把工人赶出去,而工作人员准备好接收它,同时也是FCFS风格。与此同时,我不想失去经理A通过工作人员B获得的模型,工人B的回复回到给经理A.保持这是由请求 - 回复模式促进的,同时允许工人B接收唯一的经理的第二工作,而A可能仍在处理它的工作非常需要。
我怎样才能最轻松地实现这一目标?最好通过修改我当前的lbbroker实现,这与手册中的lbbroker不同。
提前致谢。
答案 0 :(得分:0)
事实证明,我的困难源于对负载平衡代理示例的具体理解不充分;它不是具有REP套接字的代理,以便它必须在每个工作请求/工作者请求之间接收。所以异步问题根本不存在。
基本上,路由器有一个身份消息,并且在转发中以一致的方式,你可以完全避免这个问题,并且路由器可以自由连接其他经理工作者对,而N个并发工作者可以工作。