是否可以使用MSMQ队列来负载均衡请求?如果我有客户端1-n将请求发送给WCF服务,WCF服务会将每个请求排入队列,并在后台有1-n台服务器,并在可用时请求下一个可用请求,但我会认为这会有效地实现负载平衡。但是,我将如何获得回应?我意识到我可以在我的WCF服务中订阅'complete'事件,但是当我只关心一个事件时,我必须解析所有事件。我怎么才能完成这种架构的某种回调机制?使用msmq队列负载均衡服务?
3
A
回答
4
如果您使用MSMQ发送事件,则不存在“获取响应”的内置概念。
这里有一个解决方案:客户端可以有他们自己的消息队列,他们听。当工作人员完成任务后,他们可以发送一个“已完成”的消息给客户。
但是服务器如何知道客户端的消息队列的地址?
一种方法是在每个函数中提供客户端的消息队列地址作为参数。
更好的方法是将此地址作为自定义标头值。 由于两个原因,自定义标头解决方案是更好的方法。首先,这可以通过客户端的配置文件进行配置,从而允许在部署后更改队列详细信息。其次,通信“管道”的细节侵入函数调用抽象层是不可取的,自定义头文件解决方案可以避免这种情况。
查看this question了解正在使用的自定义标头的示例。
+0
你能否回答http://stackoverflow.com/questions/9631349/what-is-outbound-transaction-in-layman-terms? – Lijo
1
相关问题
- 1. 负载均衡服务器
- 2. 负载均衡上的wcf服务
- 3. 服务发现vs负载均衡
- 4. 使用负载均衡器
- 5. 负载均衡
- 6. 使用共享优先级队列进行负载均衡
- 7. 与负载均衡
- 8. MongoDB负载均衡
- 9. Web服务使用Oracle WebCache进行负载均衡?
- 10. 使用ServicePartitionClient负载均衡服务结构StatelessService
- 11. 客户端如何使用负载均衡的WCF服务
- 12. 使用Zookeeper和Thrift进行负载均衡服务
- 13. 使用Apache流量服务器进行负载均衡
- 14. 极其不均衡的云服务负载平衡与Azure
- 15. java中的服务器到服务器通信 - 负载均衡
- 16. Azure负载平衡是否知道服务器http队列
- 17. 在负载平衡环境中的WCF服务之间的MSMQ
- 18. 使用http-proxy进行负载均衡
- 19. 使用负载均衡器与m
- 20. 使用haproxy进行percona负载均衡
- 21. 负载均衡WCF和共享高吞吐量的远程MSMQ
- 22. 防止jboss应用服务器被负载均衡器获取?
- 23. 负载均衡器没有可用的客户端服务器
- 24. AWS ElasticBeanstalk应用程序负载均衡服务角色
- 25. Nginx负载均衡与专用的php-fpm服务器
- 26. 如何列出GCE http负载均衡?
- 27. yii2和负载均衡
- 28. 负载均衡的Fiware Orion
- 29. Kubernetes,GCE,负载均衡,SSL
- 30. docker swarm的负载均衡
您是否必须使用原始MSMQ?你看过NServiceBus还是其中一个竞争的ESB? – arootbeer