QConf 正式开源!

前言

QConf 是奇虎360内部已经非常成熟的系统组件,当前超过万台机器的部署,日处理请求过千亿,并且仍有大量的新业务蜂拥接入,之所以能够受到广泛欢迎,因为它做到了代码和配置的完全分离,避免开发人员被配置文件绑架,也解耦了开发和运维工程师的相互依赖。在稳定运行一年并真正体会其便利之后,我们希望能够将此工具开放出来与业界的兄弟姐妹们分享,让其价值得到更大的发挥,本篇主要对QConf的特点、安装使用、性能等方面进行介绍

代码:https://github.com/Qihoo360/QConf

简介

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

特点

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

  • 高效读取配置

  • 安装部署方便,使用简单

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

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

编译安装

QConf采用CMake进行构建(CMake 版本 2.6及以上)

可以使用以下命令完成QConf的编译安装: shell mkdir build && cd build cmake .. make make install 你也可以在CMake图形界面工具中导入CMakeList.txt 文件 

使用如下配置可以指定QConf的安装目录: shell cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix

使用

  • 搭建Zookeeper集群,并通过Zookeeper Client 新建修改配置

    关于zookeeper使用的更多信息: ZooKeeper Getting Started Guide

  • 在QConf 配置文件中配置Zookeeper集群地址

shell vi QCONF_INSTALL_PREFIX/conf/idc.conf php #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配置文件中指定本地机房 shell echo test > QCONF_INSTALL_PREFIX/conf/localidc #指定本地机房为test - 启动QConf 

shell cd QCONF_INSTALL_PREFIX/bin && sh agent-cmd.sh start - 编写代码访问QConf 

性能

  1. 测试策略

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

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

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

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

  6. 测试语言: c++ 

  7. 测试结果

  8. 结论

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

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

使用样例

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

```

文档

  • Getting Started - QConf 使用说明,包括QConf的安装,运行,API等信息

  • wiki

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒙奇·D·路飞-

感谢老板您就是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值