# snowflake **Repository Path**: Aura-Co/snowflake ## Basic Information - **Project Name**: snowflake - **Description**: No description available - **Primary Language**: Rust - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-02 - **Last Updated**: 2021-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Snowflake     基于 Twitter 雪花算法的 ID 生成器。多线程 / 线程安全的。 [![Build Status](https://travis-ci.org/hanskorg/snowflake-rust.svg?branch=master)](https://travis-ci.org/hanskorg/snowflake-rust) ## Usage     Add this to your `Cargo.toml`: ```toml [dependencies] snowflake = { git = "https://github.com/Aura-Co/snowflake", tag = "0.1.4" } ```     直接使用,同kubernetes中使用的简化版 ```rust snowflake::id() ```     Kubernetes 中使用,会基于容器 ip 的最后两节,生成可用的 worker_id: ```rust let mut id_gen = SnowFlakeId::kubernetes(1); println!("{}", id_gen.generate_id().unwrap()); ```     基本方法: ```rust let workerId: i64 = 1; let datacenterId: i64 = 1; let mut id_gen = SnowFlakeId::new(workerId, datacenterId); println!("{}", id_gen.generate_id().unwrap()); ``` ## Benchmarks     笔者 17款 4核 标压 macbook pro,以 lib 方式使用: - cargo run:500w/s。 - release包:1.6kw/s。 ## Other     Fork 自 hanskorg/snowflake-rust,并持续迭代。