Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Q

QConf

> 编程语言
Open source

Qihoo Distributed Configuration Management System

1.9K stars0 likes0 views
WebsiteGitHub

About

Qihoo Distributed Configuration Management System

QConf

We have build another interesting proect pika. Pika is a nosql compatible with redis protocol with huge storage space. You can have a try.

Introduction 中文

QConf is a Distributed Configuration Management System! A better replacement of the traditional configuration file. As designed, configuration items which is constantly accessed and modified should be completely separated with application code, and QConf is where it should be.

Features

  • Changes to any configuration will be synchronised to all client machines in real-time.
  • High query efficiency.
  • Convenient deployment and simple interface.
  • High robustness and fault-tolerance.
  • support c/c++, shell, php, python, lua, java, go, node and etc.

Install

The QConf is built using CMake (version 2.6 or newer).

On most systems you can build the library using the following commands:

bash
mkdir build && cd build
cmake ..
make
make install

Alternatively you can also point the CMake GUI tool to the CMakeLists.txt file.

To install the QConf you can specify the install prefix by setting:

bash
cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix

Usage

  • Set up Zookeeper servers, create or modify znode with Zookeeper Client

    More information about Zookeper: ZooKeeper Getting Started Guide

  • Register the Zookeeper server address with QConf

bash
vi QCONF_INSTALL_PREFIX/conf/idc.conf
php
  # all the zookeeper host configuration.
  #[zookeeper]
  
  #zookeeper of idc 'test'
  zookeeper.test=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
  • Assign local idc
echo test > QCONF_INSTALL_PREFIX/conf/localidc #assign local idc to 'test'
  • Run QConf
bash
cd QCONF_INSTALL_PREFIX/bin && sh agent-cmd.sh start
  • Code to access QConf

Related

  • zkdash - An excellent dashboard for QConf or ZooKeeper provided by IReader Team

Performance

  1. statergy
  • running times : ten million times altogether
  • data size : the size of value of each key is 1k
  • test method : multi-processes are running at the same time, and get the elapsed time that ten million times are running
  • machine : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz, 24 cores; 64G memory
  • language : c++
  1. result
  1. conclusion:
  • the lantency is 16μs
  • during multi-process, the QPS can reach one million

Example

  • shell
bash
    qconf get_conf /demo/node1   # get the value of '/demo/node1'
  • c/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();

Document

  • Getting Started - a tutorial-style guide for developers to install, run, and program to QConf
  • Implement
  • wiki
  • qconf video guide

Contact

  • Email: [email protected]
  • QQ Group: 438042718

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++configurationconfiguration-cacheconfiguration-fileconfiguration-management

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言