Code Monkey home page Code Monkey logo

reborn's Introduction

#Reborn - yet another fast distributed solution for Redis

Reborn is a proxy based high performance Redis cluster solution written in Go/C, an alternative to Redis.

Reborn supports multiple stateless proxy with multiple redis instances.

Reborn is engineered to elastically scale, Easily add or remove redis or proxy instances on-demand/dynamicly.

Build Status

Features

  • Auto rebalance
  • Extremely simple to use
  • Support both redis or rocksdb transparently
  • Support cold/hot data hybrid management.
  • GUI dashboard & admin tools
  • Supports most of Redis commands, Fully compatible with twemproxy(https://github.com/twitter/twemproxy)
  • Native Redis clients are supported
  • Safe and transparent data migration, Easily add or remove nodes on-demand.
  • Command-line interface is also provided
  • RESTful APIs
  • Monitor and Failover

Design

RebornDB: the Next Generation Distributed Key-Value Store

Build and Install

  • Install go(we recommend go1.3.3, go1.4 has some performance issue) & ZooKeeper
  • Install godep, go get github.com/tools/godep
  • go get github.com/reborndb/reborn
  • cd reborn
  • make
  • make gotest
  • cd sample
  • follow instructions in usage.md

Tutorial

English

简体中文

FAQ

English

简体中文

Performance (Benchmark)

OS:   Ubuntu SMP x86_64 GNU/Linux
CPU:  Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz(8 cores)
Mem:  16G
Disk: 256G SSD
  • twemproxy
version 0.4.1

alpha:
  listen: 127.0.0.1:22121
  hash: crc32a
  hash_tag: "{}"
  distribution: ketama
  auto_eject_hosts: false
  timeout: 400
  redis: true
  servers:
   - 127.0.0.1:6381:1
   - 127.0.0.1:6382:1

####1 twemproxy + 2 reborn-server
redis-benchmark -p 22121 -c 500 -n 5000000 -P 100 -r 10000 -t get,set -q

SET: 209100.03 requests per second
GET: 212404.41 requests per second

####1 reborn-proxy + 2 reborn-server
redis-benchmark -p 19000 -c 500 -n 5000000 -P 100 -r 10000 -t get,set -q

SET: 410273.22 requests per second
GET: 455913.19 requests per second

####1 twemproxy + 2 qdb-server
redis-benchmark -p 22121 -c 500 -n 5000000 -P 100 -r 10000 -t get,set -q

SET: 133212.55 requests per second
GET: 165584.84 requests per second

####1 reborn-proxy + 2 qdb-server
redis-benchmark -p 19000 -c 500 -n 5000000 -P 100 -r 10000 -t get,set -q

SET: 45909.04 requests per second
GET: 77690.41 requests per second

Result:

main

For Java users who want to support HA

Reborn-java (HA Reborn Connection Pool based on Jedis)

Architecture

architecture

Snapshots

Dashboard overview server_group proxy_status

Migrate migrate

Slots slots

Authors

Thanks:

License

Reborn is licensed under MIT, see MIT-LICENSE.txt


You are welcome to use Reborn in your product, and feel free to let us know~ :)

reborn's People

Contributors

siddontang avatar ngaut avatar qiuyesuifeng avatar xiang90 avatar genedna avatar lrita avatar c4pt0r avatar neilss avatar

Watchers

netgod avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.