全局唯一ID(guid)的生成

利用雪花算法生成全局GUID。

  • machine_id 机器号 可分配 8191个
  • time 时间支持到 21060207 14:28:15 也就是说到这个时间,这个雪花算法就用不了了
  • incr 同一秒支持分配 262143

分配guid

  • M.new_guid()
    函数作用域:M 对象的成员函数
    描述: 分配guid
    参数:

    返回值
    guid(number): 全局唯一ID

获取机器号

  • M.get_machine_id(guid)
    函数作用域:M 对象的成员函数
    描述: 分配guid
    参数:
    guid(number): 全局唯一ID
    返回值
    machine_id(number): 机器号

获取生成时间

  • M.get_time(guid)
    函数作用域:M 对象的成员函数
    描述: 分配guid
    参数:
    guid(number): 全局唯一ID
    返回值
    time(number): 生成时间

获取自增号

  • M.get_incr(guid)
    函数作用域:M 对象的成员函数
    描述: 分配guid
    参数:
    guid(number): 全局唯一ID
    返回值
    incr(number): 自增号

需要在share_config_m的default_cfg.server_cfg中配置 machine_id 机器号,机器号全局唯一才能保证guid不重复。


全局唯一ID(guid)的生成
https://huahua132.github.io/2024/12/01/skynet_fly_api/snowflake/
作者
huahua132
发布于
2024年12月1日
许可协议