生成短链接

扫描二维码 上传二维码
选择防红平台类型,避免链接被拦截
选择允许访问的平台类型

长链接缩短链接

《快缩短网址·suo.run》技术白皮书
——让每一条长链,都轻盈起舞

一、极简之道:从冗长到精悍
当一条庞杂的 URL 扑面而来,suo.run 以三记轻叩,将其凝为六字短码:
1. 识——接收长链,提取指纹;
2. 铸——生成唯一短码;
3. 引——毫秒级重定向。

二、核心机制
1. 映射仓
我们采用 MySQL 主从 + Redis 双层存储:
• MySQL 持久化全量映射;
• Redis 缓存热点短码,QPS 可破十万。
表结构极简:
| code | long_url | expire_at | hits |
|------|----------|-----------|------|
| aBc3D | https://... | NULL | 150 |

2. 短码铸造
三法并用,优雅避碰:
• 雪花算法 → 62 进制,有序且唯一;
• MurmurHash → 取前 48 bit,冲突概率 < 1/2^32;
• 随机盐 + 字母数字混排,供自定义短码。

3. 重定向
入口网关收到 GET /aBc3D,流程如下:
• Nginx → Lua 脚本 → Redis → 302 Found;
• 冷码回源 MySQL,再回写 Redis;
• 全球 Anycast CDN,边缘节点缓存 301/302 响应,延迟 < 30 ms。

三、精修之术
• 长度:6 位即可承载 568 亿组合,若业务扩张,可平滑升至 7 位。
• 缓存:Redis Cluster + 本地 LRU,命中率 97%。
• 防滥用:令牌桶限频、人机验证、敏感域名实时风控。

四、高阶魔法
1. 自定义短码:/myBrand 即刻拥有,先到先得。
2. 生命周期:支持秒级至永久,过期自动回收。
3. 数据洞察:访问地域、设备、来源、时段,图表一键生成。
4. 批量 API:一次 POST 万链,秒级回包,JSON 阵列即拿即用。

五、示例旅程
用户粘贴长链 → 系统返回 suo.run/aBc3D → 访客点击 → 30 ms 后抵达原站。



六、未至之境
• 亿级并发:基于分片 + 消息队列的水平扩展;
• 零碰撞:雪花算法 + 全局发号器;
• 隐私护航:端到端加密短码,防枚举、防爆破。



suo.run,让每一次分享都只留下优雅的六个字符。