如脉脉,不会纵容你发太长的网址,会给你转成短链。
1 Scenario 场景
根据一个 long url 生成一个short url。
如 http://www.javaedge.com => http://bit.ly/1ULoQB6
根据 short url 还原 long url,并跳转:
需和面试官确认的问题:
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 即可。