官方说明:动态配置服务允许您以集中式,外部和动态的方式管理所有环境配置。动态配置消除了在配置更改时重新启动应用程序和服务的需求。ConfigurationCompligation Compligation Interledized Management使得更易于实现NECENTECT SERVISS SERVINES,无家可归的服务,无家可归的服务,并且可以更容易地制作 - 按需弹性扩展服务。
实际上,我们在通常的商业项目中仍然应该有很多场景。除了上面配置的集中化外,我们还可以执行一些动态配置,例如接口限制,线程池参数的调整,本地高速缓存一致性等。
本文主要分析NACOS v1.2.0源代码,以分析NACOS的实施原理。
让我们从官方演示开始
首先是通过构造函数进行配置,以反映ConfigService Object实例的创建
查看对应于配置服务器的构造函数,主要是做3件事
serverhttpagent,在代码中实现了定时任务计划,登录到NACOS(需要建立配置和服务注册列表的客户端),时间为5秒。
调用ServerHttPagent中的开始方法,并通过定时任务维护NACOS列表以维护NACOS的列表
将核心方法与配置,缓存,本地和远程分化进行比较。
为了防止过多更新和缓慢的时间,配置检测任务分批执行并分为多个LongpollingRunnable执行。核心代码是在LongpollingRunnnable中