All Projects → bahlo → Sonyflake Rs

bahlo / Sonyflake Rs

Licence: other
🃏 A distributed unique ID generator inspired by Twitter's Snowflake.

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Sonyflake Rs

monoton
Highly scalable, single/multi node, sortable, predictable and incremental unique id generator with zero allocation magic on the sequential generation
Stars: ✭ 21 (-76.92%)
Mutual labels:  snowflake
Mindsdb
Predictive AI layer for existing databases.
Stars: ✭ 4,199 (+4514.29%)
Mutual labels:  snowflake
Winterlayout
WinterLayout with the help of y = a*sin(x) function
Stars: ✭ 25 (-72.53%)
Mutual labels:  snowflake
growthbook
Open Source Feature Flagging and A/B Testing Platform
Stars: ✭ 2,342 (+2473.63%)
Mutual labels:  snowflake
Distributedid
基于twitter的雪花算法(SnowFlake)来产生分布式ID,支持SDK、HTTP方式接入
Stars: ✭ 273 (+200%)
Mutual labels:  snowflake
Neural
高并发、高可用的微服务架构中的分布式治理利刃,提供了分布式限流、服务降级、熔断器、重试器等容错特性,并提供了SPI、过滤器和JWT等功能。此外还提供了很多小的黑科技(如:IP黑白名单、UUID加强版、Snowflake和大并发时间戳获取等)。
Stars: ✭ 373 (+309.89%)
Mutual labels:  snowflake
tsid-creator
A Java library for generating Time Sortable Identifiers (TSID).
Stars: ✭ 16 (-82.42%)
Mutual labels:  snowflake
Sql Runner
Run templatable playbooks of SQL scripts in series and parallel on Redshift, PostgreSQL, BigQuery and Snowflake
Stars: ✭ 68 (-25.27%)
Mutual labels:  snowflake
Snowflake
Twitter的分布式自增ID雪花算法snowflake (Java版)
Stars: ✭ 336 (+269.23%)
Mutual labels:  snowflake
Gonet
go分布式服务器,基于内存mmo
Stars: ✭ 804 (+783.52%)
Mutual labels:  snowflake
dbd
dbd is a database prototyping tool that enables data analysts and engineers to quickly load and transform data in SQL databases.
Stars: ✭ 30 (-67.03%)
Mutual labels:  snowflake
Naza
🍀 Go basic library. || Go语言基础库
Stars: ✭ 253 (+178.02%)
Mutual labels:  snowflake
Snowflake
❄️ A React-Native Android iOS Starter App/ BoilerPlate / Example with Redux, RN Router, & Jest with the Snowflake Hapi Server running locally or on RedHat OpenShift for the backend, or a Parse Server running locally or remotely on Heroku
Stars: ✭ 4,576 (+4928.57%)
Mutual labels:  snowflake
IdGenerator
💎迄今为止最全面的分布式主键ID生成器。 💎优化的雪花算法(SnowFlake)——雪花漂移算法,在缩短ID长度的同时,具备极高瞬时并发处理能力(50W/0.1s)。 💎原生支持 C#/Java/Go/Rust/C/SQL 等多语言,且提供 PHP 扩展及 Python、Node.js、Ruby 多线程安全调用动态库(FFI)。💎支持容器环境自动扩容(自动注册 WorkerId ),单机或分布式唯一IdGenerator。💎顶尖优化,超强效能。
Stars: ✭ 548 (+502.2%)
Mutual labels:  snowflake
Tbls
tbls is a CI-Friendly tool for document a database, written in Go.
Stars: ✭ 940 (+932.97%)
Mutual labels:  snowflake
pre-commit-dbt
🎣 List of `pre-commit` hooks to ensure the quality of your `dbt` projects.
Stars: ✭ 149 (+63.74%)
Mutual labels:  snowflake
Sqlpad
Web-based SQL editor run in your own private cloud. Supports MySQL, Postgres, SQL Server, Vertica, Crate, ClickHouse, Trino, Presto, SAP HANA, Cassandra, Snowflake, BigQuery, SQLite, and more with ODBC
Stars: ✭ 4,113 (+4419.78%)
Mutual labels:  snowflake
Locopy
locopy: Loading/Unloading to Redshift and Snowflake using Python.
Stars: ✭ 73 (-19.78%)
Mutual labels:  snowflake
Redissnowflake
Twitter's Snowflake based ID generation as a redis module
Stars: ✭ 66 (-27.47%)
Mutual labels:  snowflake
Idgen
Twitter Snowflake-alike ID generator for .Net
Stars: ✭ 581 (+538.46%)
Mutual labels:  snowflake

sonyflake-rs

Build crates.io docs.rs License

A distributed unique ID generator inspired by Twitter's Snowflake.

This is a Rust implementation of the original sony/sonyflake, which is written in Go.

A Sonyflake ID is composed of

39 bits for time in units of 10 msec
 8 bits for a sequence number
16 bits for a machine id

Install

Add the following to your Cargo.toml:

[dependencies]
sonyflake = "0.1"

Quickstart

use sonyflake::Sonyflake;

let mut sf = Sonyflake::new().unwrap();
let next_id = sf.next_id().unwrap();
println!("{}", next_id);

Benchmarks

Benchmarks were run on a MacBook Pro (15-inch, 2017) with a 2,8GHz i7 and 16 GB memory. Run them yourself with cargo bench.

test bench_decompose ... bench:       1,066 ns/iter (+/- 132)
test bench_new       ... bench:     738,129 ns/iter (+/- 318,192)
test bench_next_id   ... bench:      37,390 ns/iter (+/- 499)

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].