在此期间,研究了窗口服务总线消息队列技术,进行了大量的技术研究和代码验证,最近打算统一共享。
首先,Windows Azure有两种消息队列机制:访问队列和服务总线队列。
其中,作为Azure Storage基础架构的一部分,Azure Queues提供了一个简单的基于Rest的接口,面向不同的服务间提供可靠性和持久性的消息队列
ServiceBus Queues作为Azure Messaging基础设施的一部分,提供了支持队列和发布订阅模式,支持WebService和集成模式
本系列主要介绍服务总线队列。 关于两者的选择比较,请参考以下内容。
3359 azure.Microsoft.com/zh-cn/documentation/articles/service-bus-azure-and-service-bus-queues-commme
Service Bus服务总线支持两种不同的消息模式: relayedmessagingandbrokeredmessaging .中继消息模式和代理消息模式。
中继消息模式Relayed messaging
消息处理过程:
当客户端向基于服务器的请求发送时,Azure负载平衡器将请求路由到其中一个网关节点。 如果该请求是侦听类的请求,则网关节点返回新的
继电器。 如果请求是连接到指定中继的请求,则请求被转发到指定中继所在的网关节点,网关节点将交叉的请求发送到监听客户端,请求监听客户端为接收消息创建临时通道。 在连接建立之后,
现在可以通过网关节点(Gateway Node )在客户端之间交换消息。
代理消息模式Borkered messaging:异步、解耦、消息发送者(Producer )和消费者(Consumer )不需要同时在线,消息存储在中介器(Broker )中,消息消费者消费核心组件包括队列、主题和订阅。
消息处理过程:
当客户端向基于服务器的请求发送时,Azure负载平衡器将请求路由到其中一个网关节点。 如果请求包含消息实体“队列、主题、订阅”,则网关节点“Gateway Node”将首先在网关存储器“Gateway Store”中查找消息实体搜索与消息存储器相对应的消息代理节点“消息阻止器”,消息代理节点将响应发送到请求所在的网关节点,然后将响应发送回请求的客户端。
代理消息模式Borkered messaging是最常见的常见消息模式,业内ActiveMQ、RabbitMQ等消息中间件均有支持,也是今后研究的重点。