2018年4月1日日曜日

MayLily ver2.0.0を公開しました

分散型ユニークIDジェネレータ、MayLilyの新バージョンを公開しました。


なにそれ?

TwitterのSnowflakeのNode.js版です。本家は開発を停止しているようですが。

特徴

  • 単体で動作。本家Snowflakeのような外部サービスや通信は不要。
  • 柔軟なカスタマイズ。各パート(シーケンス、ジェネレータID)に使うビットサイズや、採番開始時刻を任意に指定可能。
  • 多倍長整数に対応。JavaScriptの整数表現の限界である53ビットはもちろん、64ビットも超えたID生成が可能。(バージョン2.0.0から)
  • 2〜36までの任意の位取り記数法を指定可能(バージョン2.0.0から)
詳しくはバージョン1.0.0の記事を参照してください。Snowflakeの簡単な解説については一昨年の記事を。

あれから1年以上経ってたのか…

バージョン1からの破壊的変更点

今までと互換性ないから気をつけてね。
  • 戻り値の型を数値型から文字列型に変更。多倍長整数や10進数以外の位取り記数法に対応した都合上ですが、生成されたIDが数値型で表現できる範囲内であっても文字列型で返されます。
  • 各パートのビットサイズを変更。バージョン1では戻り値が数値型の都合上、各パートのサイズはかなり小さめでしたが、バージョン2ではSnowflakeと同じビットサイズをデフォルトにしました。
  • エクスポート方法を変更require()でのロード方法をrequire("maylily")からrequire("maylily").defaultに変更しました。

ドキュメント

NPMのページをみてね。

0 件のコメント:

コメントを投稿