橡皮擦擦

短网址生成思路

技术杂谈

需求:

设计一个短网址算法和架构

要求:

  1. 网址尽可能短,跳转尽可能快。
  2. 无法轻易被猜测和遍历。
  3. 生成短网址与短网址跳转支持高并发访问。
  4. 可伸缩和高可用。

实现思路

  1. 需要发号器若干,每个发号器对应一个区间的ID。
  2. 用户创建短链接根据负载均衡分流至指定发号器内。
  3. Redis集群持久化存储完成,返回ID。
  4. 存储后的id用64进制转换后补零,使用恺撒加密,长度不变。输出至前端呈现用户。
  5. 用户访问短域名时解密->转换进制->查询DB对应源网址。
  6. 输出至客户端进行重定向
点我评论
打赏本文
二维码


36

文章

6

分类