前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >短链系统设计性能优化-分片键选型及全局自增 ID 策略

短链系统设计性能优化-分片键选型及全局自增 ID 策略

作者头像
JavaEdge
发布2022-09-14 08:00:02
3360
发布2022-09-14 08:00:02
举报
文章被收录于专栏:JavaEdge
4.3.1 分片键选择
若一个 long 可对应多个 short
  • 使用 cache 缓存所有 long2short
  • 在为一个 long url 创建 short url 时,若 cache miss,则创建新 short
若一个 long 只能对应一个 short
  • 若使用随机生成算法
    • 两张表,一张存储 long2short,一张存储short2long
    • 每个映射关系存两份,则能同时支持 long2short short2long 查询
  • 若使用 base62 进制转换法
    • 有个严重问题,多台机器之间如何维护一个全局自增的 id?
    • 一般关系型DB只支持在一台机器上实现这台机器上全局自增的 id

4.4 全局自增 id

4.4.1 专用一台 DB 做自增服务

该 DB不存储真实数据,也不负责其他查询。

为避免单点故障,可能需要多台 DB。

4.4.2 使用 zk

但使用全局自增 id 不是解决 tiny url最佳方案。 Generating a Distributed Sequence Number

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/09/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4.3.1 分片键选择
    • 若一个 long 可对应多个 short
      • 若一个 long 只能对应一个 short
      • 4.4 全局自增 id
        • 4.4.1 专用一台 DB 做自增服务
          • 4.4.2 使用 zk
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档