kids

Kids Is Data Stream

  • 所有者: zhihu/kids
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

kids

Build Status

Kids is a log aggregation system.

It aggregates messages like Scribe and its pub/sub pattern is ported from Redis.

中文文档

Features

  • Real-time subscription
  • Distributed collection
  • Message persistence
  • Multithreading
  • Redis protocol
  • No third-party dependencies

Quickstart

From Source

You need a complier with C++11 support like GCC 4.7 (or later) or Clang.

Download a source release, then:

tar xzf kids-VERSION.tar.gz
cd kids-VERSION
./configure
make
make test  # optional
make install

By default, it will be installed to /usr/local/bin/kids.
You can use the --prefix option to specify the installation location.
Run ./configure --help for more config options.

Kids comes with some sample config files in samples/, after building, simply run:

kids -c samples/dev.conf

Because kids uses redis protocol, you can use redis-cli to play with it, open another terminal:

$ redis-cli -p 3888
$ 127.0.0.1:3388> PSUBSCRIBE *

In yet another terminal:

$ redis-cli -p 3388
$ 127.0.0.1:3388> PUBLISH kids.testtopic message

redis-cli needs redis to be installed. On Mac, you can run brew install redis to install it. On Linux, run sudo apt-get install redis-tools

Run kids --help for more running options.

Using docker

Do the following:

git clone https://github.com/zhihu/kids.git
cd kids
cp samples/dev.conf debian/kids.conf
docker build -t zhihu/kids .

Now you can run it like this:

docker run -d -p 3388:3388 zhihu/kids

You can also specify the config file like this:

docker run -d -v /path/to/kids/conf:/etc/kids.conf -p 3388:3388 zhihu/kids

Configuration

See configuration.

Run in production

see production.

Developer

You will need

  • build-essential
  • libtool
  • automake
  • c++ compiler with c++ 11 support like gcc4.7+ or Clang

to build kids from source. Run the following to build kids:

./autogen.sh
./configure
make

License

Kids Uses BSD-3, see LICENSE for more details.

FAQ

Q: What is the meaning of "kids"?
A: "kids" is the recursive acronym of "Kids Is Data Stream".

Architecture

image

主要指标

概览
名称与所有者zhihu/kids
主编程语言C++
编程语言Shell (语言数: 11)
平台
许可证Other
所有者活动
创建于2014-12-19 06:01:57
推送于2020-08-10 06:08:01
最后一次提交2020-08-10 14:08:00
发布数1
最新版本名称1.0.0 (发布于 )
第一版名称1.0.0 (发布于 )
用户参与
星数1.2k
关注者数150
派生数208
提交数113
已启用问题?
问题数17
打开的问题数3
拉请求数37
打开的拉请求数0
关闭的拉请求数4
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?