前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >短链系统设计性能优化-缓存提速及CDN

短链系统设计性能优化-缓存提速及CDN

作者头像
JavaEdge
发布2022-09-14 07:57:59
5260
发布2022-09-14 07:57:59
举报
文章被收录于专栏:JavaEdge

4 Scale

如何提高响应速度,和直接打开原链接一样的效率。

明确,这是个读多写少业务。

4.1 缓存提速(Cache Aside)

缓存需存储两类数据:

  • long2short(生成新 short url 需要)
  • short2long(查询 short url 时需要)

4.2 CDN

利用地理位置信息提速。

优化服务器访问速度:

  • 不同地区,使用通不同 web 服务器
  • 通过 dns 解析不同地区用户到不同服务器

优化数据访问速度

  • 使用中心化的 MySQL+分布式的 Redis
  • 一个 MySQL 配多个 Redis,Redis 跨地区分布

4.3 何时需要多台 DB 服务器

cache 资源不够或命中率低

写操作过多

越来越多请求无法通过 cache 满足

多台DB服务器可以优化什么?

  • 解决存不下:存储
  • 解决忙不过:qps

那么 tiny url 的主要问题是啥?存储是没问题的,重点是 qps。那么,如何 sharding 呢?

垂直拆分:将多张表分别分配给多台机器。对此不适用,只有两列,无法再拆分。

横向拆分:

若id、shortURL 做分片键:

  • long2short 查询时,只能广播给 N 台 db 都去查询
  • 为何要查 long2short?避免重复创建呀
  • 若不需要避免重复创建,则这样可行

用 long url 做分片键:

short2long 查询时,只能广播给 N 台 DB 查询。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4 Scale
    • 4.1 缓存提速(Cache Aside)
      • 4.2 CDN
        • 4.3 何时需要多台 DB 服务器
        相关产品与服务
        云数据库 Redis
        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档