所以我使用Azure Service Bus在C#中编写,但这些细节并不重要,因为我正在寻找一个设计模式,而不是代码块。我们在多个数据中心拥有客户数据,并且我们(可以/将)在这些数据中心拥有多个工作进程。我正在尝试做的是能够获取客户列表,按数据中心(唯一标识符)将它们分开,并使用位于同一数据中心的工作人员对客户的数据执行一些工作,这样我们就不会将大量数据拖到整个大陆。
我倾向于让每个数据中心有一个单独的队列,但如果我们选择它作为我们的设计模式,我们很快就会遇到大量的队列来监控,每个仓库一个操作。我曾考虑过一些主题(多播过滤的发布/订阅),但随后您必须路由到数据中心级别的工作人员,而您的路由器服务开始成为进入数据中心的请求的瓶颈。
另一个问题是最小化配置重复:工作人员如何知道它在哪个数据中心,以及它应该寻找什么队列?消息创建者如何知道要使用哪些队列?他们在路由自己的消息时是否需要具有数据中心意识?他们应该是吗?
我很难找到跨数据中心的消息队列模式的任何其他信息,所以我希望有人有一些经验,他们愿意分享。
发布于 2014-07-27 00:09:52
我可能遗漏了一些东西,但是你可以尝试使用Azure ServiceBus代理消息吗?
相关的那些消息
BrokeredMessaging:http://msdn.microsoft.com/en-us/library/azure/hh532019.aspx
https://stackoverflow.com/questions/24965566
复制相似问题