【Nacos】Python读取Nacos中的ini配置

一、场景

无论从程序开发还是线上管理,通过本地配置文件\写死代码进行配置管理都是不合适的。

其实本文是一篇水文,使用一个小的方法快速实现了所谓Python近原生的云配置管理,不会太高深。

二、nacos与ConfigParser

1、nacos

阿里巴巴开源的一个配置中心,详见

为什么公司有轮子,开源有那么多方案,选nacos呢?

  • 目前公司轮子大部分与其业务过于耦合

内部大部分轮子 管理端与配置中心耦合在一起(与业务场景强关联,对单个业务来说,确实是相似的东西,耦合在一起也是能理解)

  • 与其他开源相比(如consul),生态更好、sdk更完善
  • 个人比较熟悉这个组件

2、ConfigParser

python使用自带的configparser模块用来读取配置文件,配置文件的形式类似windows中的ini文件。

为什么不使用json、xml、yaml、properties来描述我们的配置文件呢?

  • 基于ConfigParser实现云配置管理,可能更加符合Pythonist的习惯。
  • 大量Python服务的配置文件是基于ConfigParser实现(服务迁移成本低)

三、实现

配置文件类似:

[common]
url = www.qq.com

1、详细实现

import nacos
import ConfigParser
import StringIO

SERVER_ADDRESSES = ""
NAMESPACE = ""
data_id = ""
group = ""
    
client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)
nacos_conf = client.get_config(data_id, group)

首先借助nacos-sdk-python生成一个nacos客户端

conf = ConfigParser.ConfigParser()
conf.readfp(StringIO.StringIO(nacos_conf))
  • 支持read配置文件
  • 支持readfp一个file-like object (此处需要借助StringIO将nacos的结果转换)
url = conf.get("common", "url")

四、参考

ConfigParser-标准库文档

nacos-官方文档

nacos-sdk-python

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值