尚硅谷springcloud2020day19(p149-150)

今天是2020-12-23。
最后两节就看看算法,也算是不用动手了,就是烧脑。
一。分布式系统全局唯一id的生成规则要求
1.全局唯一:不能出现重复的id
2.趋势递增:
3.单调递增:保证全局情况下,生成的id一定大于上一个id
4.信息安全:如果id连续,可能会被轻易的获取信息,所以要让id无规则/不规则,还要满足第三条
5.含时间戳:可以方便了解id的生成时间
二。分布式系统全局唯一id的可用性要求
1.高可用:发一个获取分布式全局id的请求,服务器要保证百分之99的情况下能创建并响应给我需要的id
2.低延迟:服务器响应的速度要非常快,流量大的系统不允许高延迟
3.高qps:要承担的住同一时刻大数量的流量
三。通常会想到的方案

  1. UUID,在这个地方的不足,存入数据库时的性能比较差:
  1.分布式id一般会作为主键,无法预测生成顺序,就不能以有序数字来存储。而且mysql推荐主键尽量短,但是UUID太长
  2.分布式id作为主键,就会有主键索引。mysql的索引使用b+树实现,每一次存入新的UUID,都会修改底层的B+树,但UUID是无序的,这个修改的成本就会很大。存入时是无序的,不但会导致中间节点分裂
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值