request-id

    名称

    如何启用

    创建一条路由并在该路由上启用 request-id 插件:

    snowflake 算法默认是不启用的,需要在 conf/config.yaml 中开启配置。

    配置参数

    名称类型必选项默认值有效值描述
    enableboolean可选false当设置为true时, 启用snowflake算法。
    snowflake_epocinteger可选1609459200000起始时间戳(单位: 毫秒)
    data_machine_bitsinteger可选12最多支持机器(进程)数量 1 << data_machine_bits
    sequence_bitsinteger可选10每个节点每毫秒内最多产生ID数量 1 << sequence_bits
    data_machine_ttlinteger可选30etcd 中 注册有效时间(单位: 秒)
    data_machine_intervalinteger可选10etcddata_machine 续约间隔时间(单位: 秒)
    • snowflake_epoc 默认起始时间为 2021-01-01T00:00:00Z, 按默认配置可以支持 69年 大约可以使用到 2090-09-07 15:47:35Z
    • data_machine_bits 对应的是 snowflake 定义中的 WorkerID 和 DatacenterID 的集合,插件会为每一个进程分配一个唯一ID,最大支持进程数为 pow(2, data_machine_bits)。默认占 最多支持 4096 个进程。
    • sequence_bits 默认占 10 bits, 每个进程每秒最多生成 1024 个ID

    配置示例

    • snowflake 原版配置

    禁用插件

    在路由 配置块中删除 `request-id 配置,reload 即可禁用该插件,无需重启 APISIX。