设计短链接生成服务
很久之前就一直想做一个短链接生成服务,但一直没有短域名和机会,只好把之前设计的思路记录下来。
起因
很多在做互联网推广都会使用发短信的方式,而短信服务提供商又对短信内容限制长度,这时候就要把长链接转为短链接。当然也有其他的方式,大厂如淘宝,有自己的 app,又被腾讯限制在微信推广的情况下,它们会用特殊处理过的文字在微信推广,用户复制内容到剪贴板再打开淘宝的 app,app 就读取剪贴板的内容识别正确的商品。
下面就用时序图的方式设计一个把长链接转为短连接,已经使用短链接跳转到正确的长链接。
时序图
sequenceDiagram
participant 浏览器
participant 服务器
participant 数据库
Note right of 服务器: http://sort.cn
浏览器->>服务器: 输入长链接
Note right of 浏览器: http://www.baidu.com/xxxxxx
服务器->>数据库: 获取一个唯一 id
Note right of 服务器: xB4daqe
数据库-->>服务器: 返回一个唯一 id
服务器->>服务器: 生成短连接
Note right of 服务器: http://sort.cn/xB4daqe
服务器-->>浏览器: 返回短连接
浏览器->>服务器: 访问 http://sort.cn/xB4daqe
服务器->>服务器: 解析获取 id
Note right of 服务器: xB4daqe
服务器->>数据库: 检查 id
数据库-->>服务器: 返回长链接
Note right of 服务器: http://www.baidu.com/xxxxxx
服务器-->>浏览器: 重定向
Note right of 浏览器: http://www.baidu.com/xxxxxx
设计短链接生成服务
https://bubao.github.io/posts/372bc467.html