你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
服务总线和卓越运营
使用 Azure 服务总线通过消息队列和发布-订阅主题全面管理企业消息代理 此服务将消息存储在 中转站(例如,队列),直到使用方准备好接收消息。
优点包括:
- 对竞争工作进程的工作进行负载均衡。
- 跨服务和应用程序边界安全地路由和传输数据和控制。
- 协调需要高度可靠性的事务工作。
有关使用服务总线的详细信息,请参阅 Azure 服务总线消息传送。 了解如何设置消息传送,用于跨本地和云环境连接应用程序和服务。
要了解服务总线如何促进卓越运营,请参阅以下主题:
以下部分特定于 Azure 服务总线和卓越运营:
- 设计注意事项
- 配置清单
- 建议的配置选项
- 源工件
设计注意事项
使用 Azure 服务总线运行时间服务级别协议(SLA)最大限度地提高可靠性。 正确配置的应用程序可以发送和接收消息,或者对已部署的队列或主题执行其他作。 有关详细信息,请参阅服务总线 SLA。
其他设计注意事项包括:
除了关于 服务总线高级和标准消息传送层的文档外,以下功能仅在高级 SKU(库存单位)上可用:
- 专用资源。
- 虚拟网络集成:限制可连接到服务总线实例的网络。 要求在子网上启用服务终结点。 存在实现虚拟网络时不支持的受信任 Microsoft 服务(例如,与事件网格集成)。 有关详细信息,请参阅 允许从特定虚拟网络访问 Azure 服务总线命名空间。
- 专用终结点。
- IP 筛选/防火墙:将连接限制为仅定义
IPv4
地址或IPv4
地址范围。 - 可用性区域:通过在一个区域内将副本分散到不同的可用区,从而提供增强的可用性,无需额外费用。
- 事件网格集成:可用事件类型。
- 扩展消息传送单元。
- Geo-Disaster 恢复(配对命名空间)。
- BYOK (自带密钥):Azure 服务总线对静态数据进行加密,并在访问时自动解密数据,但客户也可以自带客户管理的密钥。
在部署包含地理灾难恢复和可用性区域的服务总线时,服务级别目标 (SLO) 会显著提高,但运行时间 SLA 不会改变。
清单
您是否以卓越运营为目标配置了 Azure 服务总线?
- 确保正确处理 服务总线消息传送异常。
- 使用高级消息队列协议(AMQP)连接到服务总线,并尽可能使用服务终结点或专用终结点。
- 建立一个流程来主动监控死信队列 (dlq) 消息。
- 查看使用服务总线消息传送改进性能的最佳做法。
- 分析 Azure 存储队列与 Azure 服务总线队列之间的差异。
配置建议
请考虑以下建议,在配置 Azure 服务总线时优化可靠性:
建议 | 描述 |
---|---|
使用 AMQP 协议连接到服务总线,并尽可能使用服务终结点或专用终结点。 | 此建议保留 Azure 主干上的流量。 注意:Microsoft.Azure.ServiceBus 和 Windows.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'