分布式配置中心选型
1. apollo
2. nacos
1. 还支持服务注册和服务发现
3. spring cloud config (属于 java 的 spring 体系)
nacos安装与使用
1. 使用 docker 安装 nacos
docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=512m -e JVM_XMX=512m -e JVM_XMN=256m -p 8848:8848 -d nacos/nacos-server:latest
2. 访问
http://localhost:8848/nacos/index.html
nacos 的组,配置集,命名空间
1. 命名空间
1. 可以隔离配置集
2. 命名空间一般用来区分微服务
2. 组
1. 用来区别 不同的开发环境
3. dataId 配置集
1. 可以简单理解一个配置集就是一个配置文件
2. 实际上可以更灵活
Python 集成nacos
import nacos
# Both HTTP/HTTPS protocols are supported, if not set protocol prefix default is HTTP, and HTTPS with no ssl check(verify=False)
# "192.168.3.4:8848" or "https://192.168.3.4:443" or "http://192.168.3.4:8848,192.168.3.5:8848" or "https://192.168.3.4:443,https://192.168.3.5:443"
SERVER_ADDRESSES = "192.168.0.112"
NAMESPACE = "728a8df2-43c5-4cbc-9d65-0a6686908f4d"
# no auth mode
client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)
# auth mode
# get config
data_id = "user-srv.json"
group = "dev"
print(type(client.get_config(data_id, group)))
print(client.get_config(data_id, group))
def test_cb(args):
print("配置文件发生变化")
print(args)
if __name__ == '__main__':
# 监听配置文件变化,需要放在 main 下面执行
client.add_config_watcher(data_id, group, test_cb)
import time
time.sleep(3000)