【发布时间】:2014-09-17 21:19:54
【问题描述】:
所以我使用 Azure 服务总线在 C# 中编写,但这些细节并不重要,因为我正在寻找一种设计模式,而不是代码块。我们在多个数据中心拥有客户数据,并且我们(可以/将)在这些数据中心拥有多个工作进程。我正在尝试做的是能够获取客户列表,按数据中心(唯一标识符)将它们分开,并使用位于同一数据中心的工作人员对客户的数据进行一些处理,所以我们不是t 将大量数据拖到整个大陆。
我倾向于为每个数据中心设置一个单独的队列,但如果我们选择它作为我们的设计模式,我们很快就会遇到大量队列进行监控,每个仓库的每个操作都有一个队列。我曾考虑过主题(多播过滤发布/订阅),但随后您必须路由到数据中心级别的工作人员,并且您的路由器服务开始成为进入数据中心的请求的瓶颈。
另一个问题是最大限度地减少配置重复:工作人员如何知道它位于哪个数据中心以及它应该寻找哪些队列?消息创建者如何知道要使用哪些队列?他们是否需要在路由自己的消息方面了解数据中心?他们应该是吗?
我很难找到有关跨数据中心的消息队列模式的任何其他信息,所以我希望有人愿意分享一些经验。
【问题讨论】:
标签: .net azure service message-queue