将 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 结合使用的优势的主要内容,如果未能解决你的问题,请参考以下文章

Azure 服务总线队列性能

顺序处理算法/模式 - Azure 服务总线队列

是否可以创建 WCF 服务端点来处理来自 Azure 服务总线的死信?

从 Azure 函数将消息写入 Azure 服务总线队列

Azure 服务总线触发队列在本地调试中未命中代码

是否有关于将 Azure FHIR API/Azure FHIR 开源与服务总线一起使用的详细信息?