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

Posted

技术标签:

【中文标题】顺序处理算法/模式 - Azure 服务总线队列【英文标题】:Sequential processing algorithms/Patterns - Azure service bus queue 【发布时间】:2012-05-04 18:20:07 【问题描述】:

我们正在使用 azure 服务总线队列来发布消息。 我们正在使用异步函数将消息推送到队列中,以便获得最大的吞吐量。

稍后这些消息可以被工作角色拾取以进行处理。 我们将要求处理消息的严格顺序。但是,由于我们将消息异步推送到队列中,因此队列中没有顺序。

我需要某种算法/设计模式,让我们能够:

    即使队列内没有按顺序排列的消息,也要对消息进行顺序处理。 它应该允许我们在队列中异步推送消息,即不牺牲队列吞吐量。

【问题讨论】:

【参考方案1】:

Alan Smith 有一些关于服务总线模式的精彩博客文章,听起来您需要 resquencer 模式:http://geekswithblogs.net/asmith/archive/2012/03/23/149093.aspx

还可以查看他的其他帖子以了解其他模式。

Stephen Kaufman 也有一些不错的博客文章(以及其他模式):http://blogs.msdn.com/b/skaufman/archive/2012/04/16/integration-patterns-utilizing-the-windows-azure-service-bus-part-ii.aspx

HTH

【讨论】:

Resequence 看起来实用且有望实现高吞吐量。感谢分享链接。

以上是关于顺序处理算法/模式 - Azure 服务总线队列的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure 服务总线的可扩展请求响应模式

Azure 服务总线队列以并行方式异步处理消息

Azure 服务总线队列消息处理

Azure 服务总线队列性能

如何基于 Azure 中的服务总线队列自动缩放 Python webjob?

Azure 服务总线 - 删除特定消息