滴滴分布式id:Tinyid的使用与配置设置

tinyid是滴滴开源千万级并发的分布式ID生成器。
开源地址如下:
git地址
代码的结构如下:
在这里插入图片描述
通过阅读文档我们知道:
tinyid-server推荐部署到多个机房的多台机器多机房部署可用性更高,http方式访问需使用方考虑延迟问题推荐使用tinyid-client来获取id,好处如下:id为本地生成(调用AtomicLong.addAndGet方法),性能大大增加client对server访问变的低频,减轻了server的压力因为低频,即便client使用方和server不在一个机房,也无须担心延迟即便所有server挂掉,因为client预加载了号段,依然可以继续使用一段时间 注:使用tinyid-client方式,如果client机器较多频繁重启,可能会浪费较多的id,这时可以考虑使用http方式

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的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值