request-id
名称
如何启用
创建一条路由并在该路由上启用 request-id
插件:
snowflake 算法默认是不启用的,需要在 conf/config.yaml
中开启配置。
配置参数
名称 | 类型 | 必选项 | 默认值 | 有效值 | 描述 |
---|---|---|---|---|---|
enable | boolean | 可选 | false | 当设置为true时, 启用snowflake算法。 | |
snowflake_epoc | integer | 可选 | 1609459200000 | 起始时间戳(单位: 毫秒) | |
data_machine_bits | integer | 可选 | 12 | 最多支持机器(进程)数量 1 << data_machine_bits | |
sequence_bits | integer | 可选 | 10 | 每个节点每毫秒内最多产生ID数量 1 << sequence_bits | |
data_machine_ttl | integer | 可选 | 30 | etcd 中 注册有效时间(单位: 秒) | |
data_machine_interval | integer | 可选 | 10 | etcd 中 data_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。