• Stars
    star
    1,225
  • Rank 38,289 (Top 0.8 %)
  • Language
    C++
  • License
    Other
  • Created almost 10 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Kids Is Data Stream

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

More Repositories

1

Matisse

๐ŸŽ† A well-designed local image and video selector for Android
Java
12,518
star
2

griffith

A React-based web video player
TypeScript
2,501
star
3

rucene

Rust port of Lucene
Rust
1,005
star
4

cuBERT

Fast implementation of BERT inference directly on NVIDIA (CUDA, CUBLAS) and Intel MKL
C++
522
star
5

RxLifecycle

Bind observables to the lifecycle of Activity or Fragment in a non-invasive way.
Java
515
star
6

redis-shard

Redis sharding client library
Python
358
star
7

zhihu-rxjava-meetup

็ŸฅไนŽ x RxJava Meetup
358
star
8

mirror

Yet another Sketch Mirror App for Android.
Java
272
star
9

SugarAdapter

Make RecyclerView.Adapter Great Again!
Java
235
star
10

zetta

Zetta Table Store
Go
130
star
11

norm

An orm library support nGQL for Golang
Go
103
star
12

tache

A tag based invalidation caching library
Python
77
star
13

promate

Graphite On VictoriaMetrics
Go
69
star
14

SERank

An efficient and effective learning to rank algorithm by mining information across ranking candidates. This repository contains the tensorflow implementation of SERank model. The code is developed based on TF-Ranking.
Python
50
star
15

cmdb

Programmable CMDB
Go
18
star
16

chaika

Elastic cache solution on Kubernetes
11
star
17

TLLM_QMM

TLLM_QMM strips the implementation of quantized kernels of Nvidia's TensorRT-LLM, removing NVInfer dependency and exposes ease of use Pytorch module. We modified the dequantation and weight preprocessing to align with popular quantization alogirthms such as AWQ and GPTQ, and combine them with new FP8 quantization.
C++
10
star
18

zetta-proto

Protobuf files for Zetta Table Store
Shell
7
star
19

presto-connectors

Presto Connectors project has been moved to TiBigData at PingCAP Incubator
6
star
20

zetta-client-go

Go client for Zetta Table Store
Go
4
star