Golang 分布式 ID 生成器
在分布式系统中,我们经常需要生成一个唯一的 ID
,或用于订单,或用于其他场景。总之基本的要求就是要唯一且高效。对这个 ID
还希望其中能带有一些时间信息,这样即使我们后端的系统对记录进行了分库分表,也能够以时间顺序对这些记录进行排序。Twitter
的 snowflake
算法是这种场景下的一个典型解法。
在分布式系统中,我们经常需要生成一个唯一的 ID
,或用于订单,或用于其他场景。总之基本的要求就是要唯一且高效。对这个 ID
还希望其中能带有一些时间信息,这样即使我们后端的系统对记录进行了分库分表,也能够以时间顺序对这些记录进行排序。Twitter
的 snowflake
算法是这种场景下的一个典型解法。
相对于 PHP
而言,Golang
里面的获取时间应该说是很不方便有木有。因此,特意封装了以下项目中常用到的获取时间相关的函数。