MiffyLiye.Snowflake 1.0.0

A unique ID generator.

Install-Package MiffyLiye.Snowflake -Version 1.0.0
dotnet add package MiffyLiye.Snowflake --version 1.0.0
<PackageReference Include="MiffyLiye.Snowflake" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MiffyLiye.Snowflake --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Snowflake

AppVeyor branch
Travis branch
Codecov branch

NuGet
Libraries.io for GitHub

A simple ID generator inspired by Twitter's snowflake.

ID properties

  • 1 bit leading 0 to ensure the long number is positive
  • 41 bits for timestamp
  • 10 bits for machine ID
  • 12 bits random number
  • ~2 ms timestamp precision
  • ~139 years timestamp range
  • generate 1 ID in less than 1 ms
  • concurrently generate 4096 unique IDs in less than 0.1 s

Aspirations

  • Make simple things simple
  • Make complex things possible
  • Support centralized low traffic system
  • Support distributed high traffic system
  • Portable to Windows, macOS, and Linux

Status

  • Support centralized low traffic system
  • Support distributed high traffic system (< 4096 requests per 100 millisecond per machine)

Usages

See test cases.

Issues

See project issues.

Snowflake

AppVeyor branch
Travis branch
Codecov branch

NuGet
Libraries.io for GitHub

A simple ID generator inspired by Twitter's snowflake.

ID properties

  • 1 bit leading 0 to ensure the long number is positive
  • 41 bits for timestamp
  • 10 bits for machine ID
  • 12 bits random number
  • ~2 ms timestamp precision
  • ~139 years timestamp range
  • generate 1 ID in less than 1 ms
  • concurrently generate 4096 unique IDs in less than 0.1 s

Aspirations

  • Make simple things simple
  • Make complex things possible
  • Support centralized low traffic system
  • Support distributed high traffic system
  • Portable to Windows, macOS, and Linux

Status

  • Support centralized low traffic system
  • Support distributed high traffic system (< 4096 requests per 100 millisecond per machine)

Usages

See test cases.

Issues

See project issues.

  • .NETStandard 2.0

    • No dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0 345 5/3/2018
0.9.0 308 2/18/2018
0.7.0 279 2/13/2018
0.6.0 352 2/12/2018
0.3.0 356 2/11/2018
0.2.0 284 2/11/2018
0.1.0 352 2/11/2018