有没有在Azure中的应用程序之间共享配置的好方法?

时间:2019-03-26 01:38:07

标签: azure configuration azure-web-sites azure-functions

我们有一个内置于Azure应用中的大型系统。它由用于我们的API的应用服务和用于后端处理的多个功能应用组成。

允许这些应用共享配置的最佳方法是什么?

我们目前使用ARM模板为每个应用程序设置环境变量,这对于部署时很好,但是没有什么可以使配置在应用程序之间保持同步。

用例可能是控制子系统是否可运行的功能标志。我们可能希望在API和Functions App中使用此标志。目前,我们可以手动进入并在每个应用程序中设置变量,但是如果只需要在一个位置进行操作,将更易于管理。

理想情况下,Azure会检测到对配置的任何更新,并触发服务的重新启动,就像本机实现当前所发生的那样。

是否有一种好的现成的方法来做到这一点?还是我将使用数据库中的表和轻量级函数滚动自己的数据库?

3 个答案:

答案 0 :(得分:6)

一种方法是使用新的应用程序配置服务:https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview

它旨在在组件之间共享配置设置。

请注意,这不是秘密,这就是Key Vault的目的。

答案 1 :(得分:1)

Microsoft为此提供了一种指导/设计模式,可以从here中找到。

答案 2 :(得分:0)

体系结构最佳实践:您可以使用外部配置存储模式,并使用Redis缓存在多个应用程序之间共享配置,如此处所述:https://docs.microsoft.com/en-us/azure/architecture/patterns/external-configuration-store

方法是您可以从每个环境的Appsettings中获取此数据(可以在CI / CD管道中自动进行)。首次连接时,您将数据存储在RedisCache中。

对于敏感数据:使用Keyvault存储秘密/密钥/证书。

相关问题