近期有用到阿里的开源配置中心及注册中心nacos,特此记录并分享一些学习笔记及配置踩坑点。
一、Nacos配置中心介绍
从架构图上可以知道,Nacos提供了两种服务,一种是用于服务注册、发现的Naming Service,一种是用于配置中心、动态配置的Config Service,而他们底层均由core模块来支持。外层提供OpenAPI供客户端使用,并提供了User Console、Admin Console方便用户使用 。
用户通过管理平台发布配置,通过HTTP调用将配置注册到服务端,服务端将之保存在MySQL等持久化存储引擎中;用户通过客户端SDK访问服务端的配置,同时建立HTTP的长轮询监听配置项变更,同时为了减轻服务端压力和保证容灾特性,配置项拉取到客户端之后会保存一份快照在本地文件中,SDK优先读取本地文件里的配置。当服务端的配置发生变更时,客户端会通过监听机制,拿到变更后的最新配置信息。
简单来说,Nacos 客户端是怎么实时获取到 Nacos 服务端的最新数据的:
Nacos 并不是通过推的方式将服务端最新的配置信息发送给客户端的,而是客户端维护了一个长轮询的任务,定时去拉取发生变更的配置信息,然后将最新的数据推送给 Listener 的持有者。
二、配置中心搭建
1.配置中心启用
首先需要到官网上下载nacos-server,然后将服务跑起来之后。根据自己的需要,建立几个命名空间,当然使用默认的public的命名空间也是可以的,如图所示。