短链很常见,在互联网营销场景以及移动端信息传播等场景下起着重要的作用。同时,也是经常被来拿考察选手系统设计水平的一个场景。 对于服务端研发,关于前端访问时的长短转换,其实只要知道有 30X 重定向基本也就可以了。 相较于重定向,我更关注的,是 短链生成方式选型 、 存储选型 、 系统性能应对 等方面的方案和设计。 Part one 短链系统分析 短链系统的最根本能力: 是可以根据长链计算得到短链,以方便外部访问 : 判断对应短链已存在,则直接返回 判断对应短链不存在,则生成短链,并存储 <span 长链 短链</span 的映射关系 也可以根据短链映射到长链,寻找真实服务地址提供服务 : 根据 <span 短链 长链</span 查询存储,获取对应的长链 条条大路通罗马,系统方案有很多,但采取哪种最合适,还需要和存储策略以及访问性能联合起来一起