Skip to content

jianxingzhe/kids

 
 

Repository files navigation

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

Installation

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

Download a release. Untar the tarball, then:

./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.

Quickstart

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

kids -c samples/dev.conf

Because kids uses redis protocol, so 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 test message

redis-cli needs redis to be installed, in MAC, you can run brew install redis to install it.

Full explanation of config file, see here.

Run kids --help for more running options.

License

Kids is BSD-licensed, 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

You can view the Chinese version README here

Packages

No packages published

Languages

  • C++ 92.4%
  • C 6.2%
  • Go 0.6%
  • Python 0.4%
  • Bison 0.3%
  • Other 0.1%