每个应用程序或服务将或多或少地与配置参数联系。最简单的应用程序可能会将配置硬码放入程序代码中,并且更复杂的微服务可能需要一个统一的配置中心来发布配置参数,然后将其查看其开发历史记录。
硬码是将配置参数直接写入代码。尽管硬代码可能看起来并不完美,但实际上,它仍然具有很多外观。
例如,我们经常使用的大多数桌面软件都很难编码为构建代码,而无需用户修改任何参数。
就像我们在Windows上使用的记事本和图纸一样,它们内部可能具有简单的参数,并且没有额外的参数。当然,由于没有配置文件,因此不可避免地会成为系统中的硬蛋糕。
有时,当我们自己开发一些简单的工具时,我们仅限于内部使用,而我们将简单地介入代码中。
硬编码表如下:
随着系统的环境变得越来越复杂,我们可能需要在不同的环境中设置不同的参数,因此出现最流行的配置方法。它是配置文件。
ASP.NET Core已构建了对配置文件的支持,因此使用也很方便。通过对扩展扩展文件的监视支持,可以通过不同的环境支持不同的配置文件。
以AppSetting.json为例,以查看配置文件是什么。
现在,JSON文件作为配置文件流行。当然,还有更多的文件作为配置,例如经典的INI文件格式,曾经流行的XML文件,以及Yun常用的YAML格式。
配置文件也可以存储到数据库或远程文件中。此存储方法与具有分布式访问的特征的本地配置文件略有不同。微服务的配置,如果配置中心失败,则可以采用此方法作为集中配置管理的方法。它具有统一配置和独立分布的特征。如果您使用一些时间 - 淘汰方法,甚至可以在运行时实现续订的效果。
从互联网上借一张图片,以查看数据库的存储。
作为微服务配置中心的领导者,Ctrip的Apollo具有复杂的体系结构和简单的使用。架构方法如下:
它具有丰富的功能和可配置的接口。它可以描述为盒子的用途。当然,它的部署是一个重量级作为配置中心。
当涉及Yun的本机配置时,必须是K8S的ConfigMap资源方法。通过配置映射文件,您可以在启动每个容器供使用时将其加载到容器的环境变量上。
尽管其基础层不支持热门更新,但使用K8S自己的实例加载功能也可以间接地意识到热门更新。
作者:Webmote版权属于作者。对于业务重印,请与作者联系以获得授权。请指示非商业重印的来源。