你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
服务总线和卓越运营
使用 Azure 服务总线完全托管企业消息中转,其中包含消息队列和发布订阅主题。 此服务将消息存储在“中转站”(例如“队列”)中,直到使用方准备好接收这些消息。
优势包括:
- 对竞争工作进程的工作进行负载均衡。
- 跨服务和应用程序边界安全路由和传输数据和控制。
- 协调需要高度可靠性的事务性工作。
有关使用服务总线的详细信息,请参阅 Azure 服务总线消息传送。 了解如何设置消息传送,用于连接跨本地和云环境的应用程序与服务。
若要了解服务总线如何提高卓越运营能力,请参阅以下主题:
以下部分专门介绍了 Azure 服务总线和卓越运营:
- 设计注意事项
- 配置清单
- 推荐配置选项
- 源项目
设计注意事项
使用 Azure 服务总线运行时间服务级别协议 (SLA) 来最大化可靠性。 正确配置的应用程序可以发送或接收消息,或者对已部署的队列或主题执行其他操作。 有关详细信息,请参阅服务总线 SLA。
其他设计注意事项包括:
除了服务总线高级和标准消息传送层上的文档外,以下功能仅在高级库存单位 (SKU) 上可用:
- 专用资源。
- 虚拟网络集成:限制可以连接到该服务总线实例的网络。 要求在子网上启用服务终结点。 实现虚拟网络时,存在不受支持的受信任 Microsoft 服务(例如,事件网格集成)。 有关详细信息,请参阅允许从特定虚拟网络访问 Azure 服务总线命名空间。
- 专用终结点。
- IP 筛选/防火墙:将连接限制在仅定义的
IPv4
地址或IPv4
地址范围。 - 可用性区域:通过在一个区域中的所有可用性区域之间分散副本来提供增强的可用性,无需额外成本。
- 事件网格集成:可用事件类型。
- 缩放消息传送单元。
- 异地灾难恢复(配对命名空间)。
- BYOK(创建自己的密钥):Azure 服务总线加密静态数据并在访问时自动解密数据,但客户也可以创建自己的客户管理的密钥。
使用异地灾难恢复在可用性区域中部署服务总线时,服务级目标 (SLO) 显著增加,但不更改运行时间 SLA。
清单
是否出于卓越运营考虑而配置了 Azure 服务总线?
- 确保服务总线消息传送异常得到正确处理。
- 使用高级消息队列协议 (AMQP) 连接到服务总线,并尽可能使用服务终结点或专用终结点。
- 建立一个过程来主动监视死信队列 (dlq) 消息。
- 参阅使用服务总线消息传送改进性能的最佳做法。
- 分析 Azure 存储队列与 Azure 服务总线队列之间的差异。
配置建议
请考虑以下建议,在配置 Azure 服务总线时优化可靠性:
建议 | 说明 |
---|---|
使用 AMQP 连接到服务总线,并尽可能使用服务终结点或专用终结点。 | 此建议将流量保留在 Azure 主干上。
注意:和 Windows.Azure.ServiceBus 命名空间的默认连接协议Microsoft.Azure.ServiceBus 为 AMQP 。 |
建立一个过程来主动监视死信队列 (dlq) 消息。 | 死信队列存放无法处理或无法传递给任何接收方的消息。 监视此队列以检查问题原因、应用所需的更正并重新提交消息非常重要。 |
分析 Azure 存储队列与 Azure 服务总线队列之间的差异。 | 你会发现,Azure 服务总线消息传送实体比 Azure 存储队列更高级、可靠且功能丰富。 如果你的要求是简单队列消息传送,而不需要可靠的消息传送,Azure 存储队列可能是更合适的选项。 |
源项目
若要识别未使用专用终结点的高级服务总线实例,请使用以下查询:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier == 'Premium' and isempty(properties.privateEndpointConnections)
若要识别不在高级层上的服务总线实例,请使用以下查询:
Resources | where type == 'microsoft.servicebus/namespaces' | where sku.tier != 'Premium'