将 Azure 服务总线队列与 WCF 结合使用的优势
Posted
技术标签:
【中文标题】将 Azure 服务总线队列与 WCF 结合使用的优势【英文标题】:Advantages of using Azure Service Bus Queues with WCF 【发布时间】:2014-07-26 11:35:29 【问题描述】:将服务总线队列与 WCF 结合使用有哪些优势?为什么我们不能使用 QueueClient 来访问队列而不是使用 WCF 服务来使用它?
【问题讨论】:
【参考方案1】:我在我的一个应用程序中使用带有 WCF 的消息队列,而不是使用绘制队列客户端(我在本地使用 RabbitMQ)。从我的团队的角度来看一些原因
1,我们的应用程序一直在使用 WCF over net.tcp。为了提高性能和可扩展性,我们决定使用 RabbitMQ。使用 WCF 封装后,我们无需更新整个系统代码,只需更改 WCF 传输扩展和配置即可。
2,我们可以利用WCF通道堆栈模式,切换安全设置,消息编码等。如果使用plaint queue客户端,我们需要自己构建。
3,我们可以利用 WCF 提供的消息交换模式。
4、很容易扩展和自定义WCF,以便我们可以添加/替换我们需要的模块。
基本上我们想使用 WCF 架构,而不是自己设计和实现。
希望这会有所帮助。
【讨论】:
感谢您的回答肖恩!还有一个问题,通过 RabbitMQ 客户端设置两种方式的通信非常容易。但我想如果你将它包装在 WCF 中,你将不得不使用双工功能。以及带有 rabbitMQ 的 WCF 如何比 net.tcp 更具可扩展性和性能? 我实现了,我在我的应用程序中调用了严格双工,这意味着它是 1:1 通信。我还实现了通配符双工,这意味着服务实例可以向任何实现回调契约的客户端发送回调。 您没有回答第二个问题“WCF 与 rabbitMQ 相比 net.tcp 的可扩展性和性能如何”以上是关于将 Azure 服务总线队列与 WCF 结合使用的优势的主要内容,如果未能解决你的问题,请参考以下文章