Nacos+Python入门使用
2021-06-11 本文已影响0人
霡霂976447044
在我们的后端服务中,经常需要很多配置项,一些配置更新,如果写到本地文件,那么需要重启服务器,这个时候就需要Nacos的动态配置服务功能。
Docker安装Nacos
我的系统是Linuxmint 20.1 ulyssa
安装参考:https://nacos.io/zh-cn/docs/quick-start-docker.html
git clone https://github.com/nacos-group/nacos-docker.git # 如果git无法下载,网页下载代码
export NACOS_VERSION=latest
cd nacos-group
docker-compose -f example/standalone-mysql-5.7.yaml up
运行好之后,打开:
http://127.0.0.1:8848/nacos/#/login
帐号密码都是nacos
创建配置
直接默认新增加一个配置
![](https://img.haomeiwen.com/i1597444/18b75da4b70bea16.png)
在Python中实时得到配置
pip install nacos-sdk-python
import nacos
import json
import time
SERVER_ADDRESSES = "127.0.0.1:8848"
NAMESPACE = "public"
client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)
# get config
data_id = "dev-config"
group = "DEFAULT_GROUP"
# 全局服务配置
server_config = json.loads(client.get_config(data_id, group))
print('original data:', server_config, type(server_config))
# 当服务配置发生变化
def config_update(data):
global server_config
server_config = json.loads(data['content'])
print('new data->', server_config)
# 监听服务配置变化
client.add_config_watcher(data_id, group, config_update)
# 模拟web服务一直运行
while True:
time.sleep(1)
当配置被修改,程序代码会自动替换内存server_config数据