练习 - 创建服务总线队列和主题
你所在的跨国公司为销售团队部署了一个应用程序。 每个团队成员都在移动设备上安装了应用以供销售使用。 Azure Web 服务托管为应用程序实现的业务逻辑,并将信息存储在 Azure SQL 数据库中。 每个地理区域都有其自己的 Web 服务实例。
你已确定了以下方案用于在移动应用和 Web 服务之间进行消息交换:
- 与个人销售相关的消息必须发送到相应用户所在区域中的 Web 服务实例。
- 与销售业绩相关的消息必须发送到 Web 服务的所有实例。
你决定为第一个用例实现服务队列,为第二个用例实现服务总线主题。
在此练习中,你将在 Azure 门户中创建包含队列、主题和订阅的服务总线命名空间。
创建服务总线命名空间
首先创建命名空间。 在 Azure 服务总线中,命名空间是队列和主题的容器。 每个命名空间都具有唯一的完全限定域名,其中包含主要和辅助共享访问签名 (SAS) 加密密钥。 发送或接收组件必须提供 SAS 密钥才能访问命名空间中的对象。
使用激活沙盒时所用的同一凭据登录 Azure 门户。
在“Azure 服务”下,选择“创建资源” 。
在“创建资源”窗格的全局搜索中,输入“服务总线”。 在搜索结果中,在 Microsoft 为 Azure 发布的“服务总线”中,选择“创建”。
在“创建命名空间”窗格中的“基本信息”选项卡上,为每个设置输入或选择以下值:
设置 值 说明 项目详细信息 订阅 Concierge 订阅 创建此新应用的订阅。 资源组 [沙盒资源组名称] 创建服务总线命名空间的资源组的名称。 在此练习中,你将在激活沙盒时所分配的资源组中创建命名空间。 实例详细信息 命名空间名称 [全局唯一名称] 输入在 Azure 中唯一的名称。
如果要使用此格式 salesteamapp<Company><year>,则你的命名空间名称将类似于示例 salesteamappContoso2022。位置 从下拉列表中选择 从该表后列出的免费沙盒区域中进行选择。 定价层 标准 此练习的建议定价层。 使用免费沙盒,可以在部分 Azure 全球区域中创建资源。 创建资源时,请从下面的列表中选择一个区域:
- 美国西部 2
- 美国中南部
- 美国中部
- 美国东部
- 西欧
- 东南亚
- Japan East
- Brazil South
- Australia Southeast
- 印度中部
选择“查看 + 创建”。
验证成功后,请选择“创建”来创建你的服务总线命名空间。
创建服务总线队列
接下来,请向命名空间添加有关个人销售消息的队列:
部署完成后,选择“转到资源”。
在“服务总线命名空间”页面上,选择左侧菜单中“实体”下的“队列”。
在命令栏中,选择“+ 队列”。
在“创建队列”窗格,为“名称”输入 salesmessages,然后选择“创建”。
创建消息队列后,salesmessages 将列在“服务总线命名空间”窗格底部的“队列”选项卡下。
创建“服务总线”主题和订阅
还需要创建一个主题用于处理与销售业绩相关的消息。 业务逻辑 Web 服务的每个实例都会订阅本主题,每个销售绩效消息都将传递到所有 Web 服务订阅。
添加服务总线主题和订阅:
在左侧菜单中,选择左侧菜单中的“实体”下的“主题”,然后在命令栏上选择“+ 主题”。
在“创建队列”窗格中,为“名称”输入 salesperformancemessages,然后选择“创建”。
创建主题后,salesperformancemessages 将列在“服务总线命名空间”窗格底部的“主题”下。
可通过使用服务总线命名空间中的选项卡或 Azure 门户资源菜单添加或删除队列和主题中的订阅。 若要使用菜单选项,在左侧菜单的“实体”下方,选择“主题”,然后选择主题列表中的 salesperformancemessages。
在 salesperformancemessages 服务总线主题窗格的命令栏中,选择“+ 订阅”。
在“创建订阅”窗格中,为“名称”输入 Americas。 为“最大传递计数”输入 100。 选择“创建”。
此时将显示 salesperformancemessages 服务总线主题,并在窗格底部的“订阅”部分中列出“Americas”订阅。
接下来,添加第二个订阅。 在命令栏上,选择“订阅”。
在“创建订阅”窗格中,输入“EuropeAndAsia”作为“名称”。 为“最大传递计数”输入 100。 选择“创建”。
销售团队应用 salesperformancemessages 服务总线主题的“订阅”部分现在列出了两个订阅。
你已构建了基础结构以使用服务总线来提高分散式应用程序的复原能力。 你已创建了一个队列用于处理有关个人销售的消息,并创建了一个主题用于处理有关销售业绩的消息。 已向主题添加了多个订阅,因此主题消息可传递到世界各地的多个 Web 服务。