tinyid是滴滴开源千万级并发的分布式ID生成器。
开源地址如下:
git地址
代码的结构如下:
通过阅读文档我们知道:
tinyid的原理:
我们更好的使用方式是对client服务进行包装,提供starter。这样使用的时候比较容易调用。
在调试的过程中发现第一次连接服务器会出现segmentId为null的情况。从server端看到其实segmentId是成功返回了,只是由于设置的连接时间和读取时间较短造成的结果
因此对tinyid测试五次,记录tinyid五次测试结果如下:
配置如下:
tinyid.server=127.0.0.1:9999
tinyid.token=0f673adf80504e2eaa552f5d791b644c
tinyid.readTimeout=200
tinyid.connectTimeout=200
将读超时时间和连接超时时间都配置为200秒,就能保证即便初始请求服务端也能获取到segmentId。而不会出现500的错误。