I prefer the remove snowflake algorithm because it does more harm than good. And compared to uuid, its only benefits are faster speed and incremental id generation, but these two benefits have little use in practice.
Ling Samuel <lingsamuelgr...@gmail.com> 于2023年6月14日周三 16:55写道: > > *Background* > > The snowflake algorithm in the request-id plugin introduces an unnecessary > dependency on etcd. This will significantly affect APISIX performance if > etcd is unavailable. > > Snowflake depends on a unique worker_id, which is acquired from etcd. If > etcd fails, each request with request-id plugin that uses the snowflake > algorithm needs to try to retrieve a unique worker_id. This has a > significant impact on performance. > > In addition, the data plane may not have access to etcd. This limitation > would make the algorithm completely unusable. > > In the request-id scenario, uuid can generate a globally unique id, which > is enough for this case. > > So I suggest removing this algorithm from the request-id plugin. There are > some benefits here: > > 1. reduce code complexity and the maintenance burden > 2. remove dependency on etcd on the data plane > 3. reduce the potential instability of request-id that may affect user > business