分布式配置管理工具——QConf

发表于:2020-9-10 09:57

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:4lwin    来源:CSDN

  QConf是一个分布式配置管理工具。 用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置上线流程中解放出来,极大地简化了配置管理工作。
  特点
  1.一处修改,所有机器实时同步更新
  2.高效读取配置
  3.安装部署方便,使用简单
  4.服务器宕机、网络中断、集群迁移等异常情况对用户透明
  5.支持c/c++、shell、php、python、lua、java、go、node 等语言
  编译安装
  QConf采用CMake进行构建(CMake 版本 2.6及以上)
  可以使用以下命令完成QConf的编译安装:
  mkdir build && cd build
  cmake ..
  make
  make install
  你也可以在CMake图形界面工具中导入CMakeList.txt 文件
  使用如下配置可以指定QConf的安装目录:
  cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix
  使用
  搭建Zookeeper集群,并通过Zookeeper Client 新建修改配置
  关于zookeeper使用的更多信息: ZooKeeper Getting Started Guide
  在QConf 配置文件中配置Zookeeper集群地址
 vi QCONF_INSTALL_PREFIX/conf/idc.conf

    #all the zookeeper host configuration.
    #[zookeeper]
    zookeeper.test=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 #test机房zookeeper配置
  在QConf配置文件中指定本地机房
  echo test > QCONF_INSTALL_PREFIX/conf/localidc #指定本地机房为test
  启动QConf
 cd QCONF_INSTALL_PREFIX/bin && sh agent-cmd.sh start
  编写代码访问QConf
  相关
  zkdash - 由掌阅团队开发的dashboad平台,可以作为QConf或ZooKeeper的管理端
  性能
  1、测试策略
  测试次数:循环测试1000次,每次循环获取分别获取10000个不同key对应的值,总共取一千万次key
  测试数据:每个key对应的value的大小是1k
  测试方式:多进程测试时候,多个进程同时运行,然后截取其中一段时间,来记录各个进程运行取一千万次的总耗时
  测试机器:Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, 24核;64G memory
  测试语言:c++
  2、测试结果
  3、结论
  单进程的延迟是16微秒左右
  在多进程的情况下,QPS 能够达到百万
  使用样例
  shell
  qconf get_conf /demo/node1   # get the value of '/demo/node1'
  c/c++
    // Init the qconf env
        ret = qconf_init();
        assert(QCONF_OK == ret);
        // Get Conf value
        char value[QCONF_CONF_BUF_MAX_LEN];
        ret = qconf_get_conf("/demo/node1", value, sizeof(value), NULL);
        assert(QCONF_OK == ret);
        // Destroy qconf env
        qconf_destroy();

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号