Last Modified: 2017-06-28


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.


  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/

Throughput capacity test

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

TPS: 1W+/sec for a single machine


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

Getting help

Email: [email protected] QQ:632155186