Windows Azure Platform AppFabric Service Bus全解析
1. 服务总线概述
AppFabric是构建在Windows Azure平台之上的独立技术层,通过访问控制和服务总线两个服务,为基于云的服务提供了可扩展性和可用性。本文主要聚焦于AppFabric服务总线。
服务总线建立了与平台无关的消息传递基础设施,为各种服务间的消息传递框架和模式提供了连接基础。它在互联网上充当服务及其消费者的会合点,服务和消费者都可以通过出站端口与服务总线建立双向套接字连接(TCP或HTTP)。服务消费者只需知道在服务总线上发布的会合地址,无需了解服务的实际位置。
服务总线还提供混合连接模式,可实现服务和消费者之间的直接点对点连接。在这种模式下,服务总线根据探测信息使用互端口预测算法充当“媒人”。若可以直接连接,服务和消费者将绕过服务总线进行交互,从而提高性能和吞吐量。
1.1 消息缓冲区
当消费者或服务不使用WCF时,所有通信都需通过服务总线本身。服务总线提供的消息缓冲区具有持久、异步消息传递的特点,并支持与任何能通过HTTP(S)进行REST调用的程序实现开放互操作性。
消息缓冲区采用先进先出(FIFO)语义,消息会一直存储在缓冲区中,直到消息订阅者将其拉取。订阅服务控制消息缓冲区的生命周期,其存活时间可在1到10分钟之间设置。每次服务轮询缓冲区时,计时器会重置;当计时器归零时,服务总线将删除缓冲区及其所有内容。
消息缓冲区的使用有特定配额,如下表所示:
| 配额名称 | 配额值 |
| — | — |
| 每个服务命名空间的同时连接(发送者)数量