首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈CAS在分布式ID生成方案上的应用

近几篇文章聊CAS被骂得较多,今天还是聊CAS,谈谈CAS在一种“分布式ID生成方案”上的应用。所谓“分布式ID生成方案”,是指在分布式环境下,生成全局唯一ID的方法。

updateTsetmax_id=200;这样,id-service就拿到了[100,200]这一批ID,上游在获取ID时,不用每次都插入数据库,而是分配完100个ID后,再修改max-id的值,这样分配ID的整体性能就增加了100倍。

selectmax_idfromT;如上图所示,两个id-service在启动的过程中,同时拿到了max-id为100。两个id-service同时对数据库的max-id进行写回:

updateTsetmax_id=200;写回max-id成功后,这两个id-service都以为自己拿到了[100,200]这一批ID,导致集群会生成重复的ID。

失败后,id-service2要再次查询max-id:

此时max-id已经变为200,于是id-service2获取到了[200,300]这一批ID,并将max-id=300写回:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181020A044KU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券