专栏首页互联网技术杂谈基于nacos+ConfigParser实现Python近原生的云配置管理
原创

基于nacos+ConfigParser实现Python近原生的云配置管理

一、场景

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

其实本文是一篇水文,使用一个小的方法快速实现了所谓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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pycharm配置与使用技巧备忘-2019

    pycharm也许是最好的python开发ide,自己几乎每一台电脑都有安装,这里备忘一下自己的配置和使用技巧,方便自己还有他人。

    皮皮熊
  • 微服务配置中心-Nacos

    目前是github的一个明星项目,高达6k+的star。有大量组织在现网使用Nacos,详见官方issue:https://github.com/alibaba...

    皮皮熊
  • Flink状态编程: 订单超时告警

    无状态计算实现的复杂度相对较低,实现起来较容易,但是无法完成提到的比较复杂的业务场景:

    皮皮熊
  • SpringBoot 整合 Nacos Config 实现配置文件动态更新

    Springboot 2.2.2.RELEASE Nacos config 0.2.7

    Alone88
  • 「分享计划」花一天时间学习 Nacos 源码

    获取一下完整的项目代码 git clone https://github.com/alibaba/nacos.git,导入到 Eclipse 就可以开始本次的源...

    FoamValue
  • 1搭建nacos

    nacos的官方仓库地址:https://github.com/alibaba/nacos.git

    DH镔
  • nacos部署使用mysql作为数据库

    Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件,这里我不讲nacos的docker部署,没错,如果你使用官方的方式部署nacos...

    bboysoul
  • nacos部署使用mysql作为数据库

    Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件,这里我不讲nacos的docker部署,没错,如果你使用官方的方式部署nacos...

    bboysoul
  • nacos部署

    1、从 https://github.com/alibaba/nacos 上下载最新的nacos 安装包,我下载的是nacos-server-1.3.1.tar...

    头皮阴都都
  • 校正批次效应

    Stanford 大学 在MOOC上面的公开课:PH525x series - Biomedical Data Science 还专门抽一个章节来讲解这个问题,...

    生信技能树

扫码关注云+社区

领取腾讯云代金券