面试题|短url系统设计

题目

设计短url系统,将长url转换为7字符的短url,并可以根据短url查询原url;
例如:如下page通过短url

https://www.educative.io/collection/page/5668639101419520/5649050225344512/5668600916475904/

可以得到

http://tinyurl.com/jlg8zpc

Use Cases

功能要求:

  1. 给定原始URL,返回短url,长度为7个字符 done
  2. 用户访问 short url,系统重定向到原始URL done
  3. 支持用户自定义short url
  4. short url有默认过期时间,用户也可以指定过期时间

非功能要求:
5. 高可用:一台服务挂掉,仍然可以使用
6. 低时延:URL重定向实时,低时延
7. 安全:short url不可预测
8. 标准化:服务提供REST API

约束

系统MUA以及数据容量预估:

  1. MUA:30M
  2. 数据容量模型:
    • long url : 2KB (2048 characters)
    • short url : 7B (7 characters)
    • created_at: 7B
    • total :2.014KB
  3. 容量预估
    • 60 GB/m
    • 0.7 TB/y
    • 3.5 TB / 5years

API

creatURL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值