短链系统设计-场景需求及性能要求分析

简介: 如脉脉,不会纵容你发太长的网址,会给你转成短链。

如脉脉,不会纵容你发太长的网址,会给你转成短链。


1 Scenario 场景

根据一个 long url 生成一个short url。


http://www.javaedge.com => http://bit.ly/1ULoQB6


根据 short url 还原 long url,并跳转:

5.png



需和面试官确认的问题:


long url和short url必须一一对应吗?


Short url长时间没人用,需要释放吗?


1.1 QPS 分析

问日活,如微博100M

推算产生一条 tiny url 的 qps

假设每个用户平均每天 0.1(发10 条,有一条有链接) 条带 URL 的微博

平均写 QPS = 100M * 0.1 / 86400 = 100

峰值写 qps = 100 * 2 = 200

推算点击一条tiny url的 qps

假设每个用户平均点 1 个tiny url

平均写 QPS = 100M * 1 / 86400 = 1k

峰值读 qps = 1k * 2 = 2k

deduce 每天产生的新 URL 所占存储

100M * 0.1 = 10M 条

每条 URL 长度平均按 100 算,共 1G

1T 硬盘能用 3 年

由2、3 分析可知,并不需要分布式或者 sharding,支持 2k QPS,一台 SSD MySQL 即可。

目录
相关文章
|
SQL 缓存 NoSQL
高性能短链设计
高性能短链设计
|
7月前
显示广告的几种方案及缺点
显示广告的几种方案及缺点
56 0
|
数据挖掘 测试技术 BI
霍桑实验-数据分析手段彻底失效的经典案例
霍桑实验-数据分析手段彻底失效的经典案例
|
数据挖掘 网络架构
短链系统设计-服务设计
该系统其实很简单,只需要有一个 service即可:URL Service。由于 tiny url只有一个 UrlService: 本身其实就是个小的独立应用 也无需关心其他任何业务功能
175 0
短链系统设计-服务设计
|
人工智能 文字识别 NoSQL
风控系统就该这么设计,万能通用,稳的一批!(建议收藏)
风控系统就该这么设计,万能通用,稳的一批!(建议收藏)
200 0
风控系统就该这么设计,万能通用,稳的一批!(建议收藏)
|
存储 SQL NoSQL
短链系统设计-存储设计
3 Storage 数据存取(最能体现实践经验) select 选存储结构 scheme 细化数据表
147 0
|
网络协议
短链系统设计性能优化-分片策略优化
4.5 基于 base62 的分片策略 Hash(long_url)%62作为分片键 并将 hash(long_url)%62直接放到 short url
104 0
|
消息中间件 人工智能 JavaScript
风控系统就该这么设计(万能通用),稳的一批!
风控系统就该这么设计(万能通用),稳的一批!
|
缓存 数据库
缓存架构设计细节二三事
本文主要讨论这么几个问题:“缓存与数据库”需求缘起、“淘汰缓存”还是“更新缓存”、缓存和数据库的操作时序、缓存和数据库架构简析。
2322 0
|
SQL 监控 数据库
网站流量日志分析—数据入库—宽表具体表现1—时间拓宽|学习笔记
快速学习网站流量日志分析—数据入库—宽表具体表现1—时间拓宽
238 0
网站流量日志分析—数据入库—宽表具体表现1—时间拓宽|学习笔记