2

我正在寻找在多个部署环境中在 Azure 中跨多个角色进行交互的最佳实践。

我们有以下部署环境

  1. 开发者本地部署
  2. 在 azure 中共享开发部署
  3. 天蓝色的 QA 部署
  4. 预生产部署
  5. 生产部署
  6. ETC..

在所有这些部署中,我们有多个 Web 角色以及工作者角色。

我正在寻找为每个部署创建唯一标识符的最佳实践,以便我们可以在每个部署的角色之间进行相互通信。

例如,如果我使用的是 azure Queue 或 Service bus,我如何才能唯一地标识每个部署,以便消息不会从一个环境交叉到另一个环境?

谢谢,诺姆

4

3 回答 3

0

您可能希望将一组服务分组到一个云服务(或可能是一个 VNet)中,然后只在内部使用 WCF (net.tcp) 通信。

此处示例:http: //tk.azurewebsites.net/2013/03/06/burst-up-to-the-cloud-with-a-preconfigured-ip-address-and-vpn/

在此处输入图像描述

忽略图片中的“VPN”部分——这与我在文章中提到的一些特定内容有关。

于 2013-05-30T02:15:55.087 回答
0

我们在 Dev、Test 和 Prod 环境中使用的一个更好的选择是简单地创建 Dev、Test 和 Prod 存储容器和服务总线。我们使用每个构建环境的服务配置定义来控制正在使用的容器/总线。如果您正在使用诊断,这一点尤其重要,您真的应该使用单独的容器进行诊断。

于 2013-05-30T02:04:47.693 回答
0

您可能希望查看 Azure 服务运行时提供的名为 RoleEnvironment.DeploymentId 的全局静态变量。

此变量对于每个部署的 Azure 服务都是唯一的(注意,不是角色)。

注意事项:

1)如果您需要每个角色的唯一编号,请将 RoleName 附加到此变量:RoleEnvironment.CurrentRoleInstance.Role.Name

2) 本地开发模式下的部署遵循不同的命名约定,并且不返回部署 ID 的 Guid。可能希望为他们实施 Guid 生成策略。

于 2013-05-30T01:55:27.007 回答