软件简介

QConf 是奇虎 360

内部分布式配置管理工具。用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置上线流程中解放出来,极大地简化了配置管理工作。

特点

一处修改,所有机器实时同步更新

高效读取配置

安装部署方便,使用简单

服务器宕机、网络中断、集群迁移等异常情况对用户透明

支持c/c++、shell、php、python、lua 等语言

编译安装

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 新建修改配置

在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

性能

测试策略

测试次数 : 循环测试1000次,每次循环获取分别获取10000个不同key对应的值,总共取一千万次key

测试数据 : 每个key对应的value的大小是1k

测试方式 : 多进程测试时候,多个进程同时运行,然后截取其中一段时间,来记录各个进程运行取一千万次的总耗时

测试机器 : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, 24核;64G memory

测试语言 : c++

测试结果

结论

单进程的延迟是16微秒左右

在多进程的情况下,QPS 能够达到百万

使用样例

// 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();

qconf 配置中心 php,QConf相关推荐

  1. 自己写分布式配置中心(上篇)- 单机模式

    作者:SnoWalker 来源:http://wuwenliang.net/2018/12/05/%E8%87%AA%E5%B7%B1%E5%86%99%E5%88%86%E5%B8%83%E5%BC ...

  2. springcloud(六):配置中心git示例

    随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置 ...

  3. 为什么需要分布式配置中心

    版权声明:本文为博主原创文章,未经博主允许不得转载.    https://blog.csdn.net/bntX2jSQfEHy7/article/details/82879841 作者 :谭明(林湾 ...

  4. Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)

    技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多.此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启, ...

  5. FastD 最佳实践二: 构建配置中心

    过去专门做了一篇文档来构建配置中心,基于 zookeeper 的配置中心. 环境要求及构建步骤可参考: QConf搭建配置中心 随着业务增长,部署的机器可能会随着增长,增加配置难度和维护难度.配置会因 ...

  6. 七:对微服务配置中心的理解

    微服务专栏地址 专栏:微服务 微服务系列总目录 目录 微服务专栏地址 目录 1. 简介 2. 微服务配置中心是什么 3. 为什么需要微服务配置中心 4. 微服务配置中心实现技术 4.1 网罗的实现技术 ...

  7. 高并发系统设计二十六(配置中心)

    相信在实际工作中,提及性能优化你会想到代码优化,但是实际上有些性能优化可能只需要调整一些配置参数就可以搞定了,为什么这么说呢?我给你举几个例子: 你可以调整配置的超时时间,让请求快速失败,防止系统的雪 ...

  8. SpringCloud - Spring Cloud 之 Apollo Config携程阿波罗配置中心(二十一)

    由于Spring Cloud自带的Config 需要配合 Bus 使用,且不能实时刷新,因此市面上出现了很多开元的配置中心 市面上开源的配置中心 Apollo(阿波罗):携程框架部门研发的分布式配置中 ...

  9. 为什么需要分布式配置中心?

    本文作者:林湾村龙猫.徐刘根 林湾村龙猫:[简书地址]https://www.jianshu.com/p/edce8e8c139e 一.前言 对于配置文件,我们并不陌生,它提供我们可以动态修改程序运行 ...

最新文章

  1. c#后台修改前台DOM的css属性
  2. ABAP Text edit使用
  3. java安全级别过高_Java应该是更高级别还是更低级别?
  4. 从数据库表中随机获取N条记录的SQL语句
  5. 使用HanLP增强Elasticsearch分词功能
  6. 浙江高级会计师评审计算机要求,浙江2020年高级会计师评审申报论文要求
  7. ionic3-android打包完美解决
  8. 操作系统学习---进程
  9. pdf2swf font2swf avi2swf
  10. 【Transformers】第 1 章:从Bag-of-Words到Transformer
  11. 实用工具软件远古大神Nir Sofer,数百款短小精悍便携工具,从Win2000到Win10通吃
  12. windows域的创建
  13. 同步回调与异步回调的实现与学习
  14. 对自己狠一点,离成功近一点
  15. 短线必看庄家克星底顶侦探 同花顺发现大庄家幅图公式
  16. 数学英语不好可以学计算机么,数学不好,英语不行,非计算机专业,可以学IT吗?...
  17. 【Caffe】Windows下caffe安装详解
  18. 一个关于埃森哲公司的经典笑话(转)
  19. 黑苹果OC引导 多彩绚丽霓虹 主题及安装教程
  20. 您的浏览器没有获得Java Virtual Machine(JVM)支持。可能由于没有安装JVM或者已安装但是没有启用。请安装JVM1.5或者以上版本,如果已安装则启用它

热门文章

  1. HTML如何让文本两端对齐
  2. 解决Windows 下git官网下载很慢
  3. python读excel成数组_python 如何读取excel文件 将每一行存为数组/python读程序题
  4. 杰理之开FM会串linein【篇】
  5. 数据中台产品经理-读书笔记3
  6. hibernate的环境搭建及使用
  7. Tableau各版本更新情况
  8. AbstractHandlerMapping$PreFlightHandler can‘t be cast to springframework.web.method.HandlerMethod
  9. WPARAM 与 LPARAM 参数的解析 [C#、WinAPI]
  10. linux下安装nodejs的方式