wuce7758 / leaf-snowflake

A distributed ID maker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Leaf-snowflake

Last Modified: 2017-06-28

Introduction

Leaf-snowflake is a distributedļ¼Œmonotonic increase long-type integer ID maker.

Support nearly 1000+ leaf-snowflake servers to provide id services simultaneously.

Based on http://tech.meituan.com/MT_Leaf.html leaf-snowflake.

Steps:

  1. mvn package
  2. Set ${LEAF_HOME} environment variable
  3. Config leaf.yaml at ${LEAF_HOME}/conf
  4. Exec ${LEAF_HOME}/bin/start.sh
  5. Communicate to the RPC server and get the unique , monotonic increase ID like startClient() in /rpc/rpcClient.java shows,just for test!

Commond line tools

  1. List the content of a znode dir:

    /bin/leaf.py zktool list /leaf/server-forever

  2. Read the content of a znode:

    /bin/leaf.py zktool read /leaf/server-forever/172.21.0.190:2182-0000000008

Throughput capacity test

Cost 191 seconds with 200W absolutely monotonic increase Ids generated.

TPS: 1W+/sec for a single machine

Author

weizhenyi Github: https://github.com/weizhenyi

Getting help

Email: zhenyiwei1986@126.com QQ:632155186

About

A distributed ID maker

License:Apache License 2.0


Languages

Language:Java 89.1%Language:Python 9.6%Language:Shell 1.3%