我正在寻找多个部署环境中 Azure 中多个角色之间相互通信的最佳实践。
我们有以下部署环境
- 开发者本地部署
- 在 Azure 中共享开发部署
- Azure 中的 QA 部署
- 预生产部署
- 生产部署
- 等等..
在所有这些部署中,我们有多个 Web 角色以及辅助角色。
我正在寻找最佳实践,为每个部署创建唯一标识符,以便我们可以在每个部署的角色之间进行相互通信。
例如,如果我使用 azure 队列或服务总线,我如何唯一地标识每个部署,以便消息不会从一个环境跨越到另一个环境?
谢谢, 诺姆
最佳答案
您可能想要查看 Azure 服务运行时提供的名为 RoleEnvironment.DeploymentId 的全局静态变量。
此变量对于每个已部署的 Azure 服务都是唯一的(注意,不是角色)。
注意事项:
1) 如果您需要每个角色都有唯一的编号,请将 RoleName 附加到此变量:RoleEnvironment.CurrentRoleInstance.Role.Name
2) 本地开发模式下的部署遵循不同的命名约定,并且不会返回部署 ID 的 Guid。可能想为他们实现一个 Guid 生成策略。
关于azure - Azure 中多个部署环境之间的相互通信策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826706/