生成短链接

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

短链接系统架构与实现要点

快缩短网址:让长链轻盈起舞的极简艺术

在信息洪流中,冗长的 URL 如同拖尾长裙,优雅却累赘。快缩短网址(suo.run)以一束锋刃,将千字节的长链裁成寥寥数笔的短符,既节省屏幅,又便于口耳相传。
示例:
原始:
https://mp.weixin.qq.com/s?__biz=MzI1NjQ2MTIzMw==&mid=2247486098&idx=1&sn=3f9c2c3b3e2b3c3e2b3c3e2b3c3e2b3c&scene=0#rd
精简:
https://suo.run/VDuK5lQT

一次优雅的 302,毫秒之间,访客已抵达彼岸。

一、需求素描
1. 为任意长 URL 生成全局唯一、6–8 位字符的短码。
2. 访问短码,瞬时 302 至原址。
3. 支持自定义有效期,到期即焚。
4. 鉴权与限流:accessKey 机制,防止滥用,亦可计费。

二、架构诗学

1. 短码生成:
• KGS(Key Generation Service)预生成随机字符串池,批量下发至各节点,避免冲突。
• 内存队列 + CAS 锁,确保并发安全;单池耗尽前异步补货,永无单点。

2. 数据分片:
• 一致性哈希按短码首字节环状映射,扩容仅迁移邻近节点,平滑无感。
• 冷热分层:活跃短码驻留 Redis,冷数据落盘 MyRocks,压缩率 60%↑。



3. 缓存策略:
• BloomFilter 拦截无效短码,零穿透。
• LRU + TTL 双层缓存,命中率 98%,长尾请求亦毫秒级响应。

4. 过期清理:
• 延迟队列 + 定时扫描,过期键秒级回收,存储空间循环再生。

5. 安全与治理:
• OAuth2 轻量授权,accessKey 绑定配额与速率;超限即熔断。
• 全链路 HTTPS、HSTS、CSP,防劫持、防钓鱼。

三、API 咏叹

POST /api/v1/shorten
Authorization: Bearer {accessKey}
{
"long_url": "https://...",
"ttl": 86400,
"custom_alias": "spring" // 可选
}

返回:
{
"short_url": "https://suo.run/spring",
"expires_at": "2026-06-30T23:59:59Z"
}

四、体验留白



快缩短网址拒绝堆砌功能,只保留「缩短」与「跳转」两件纯粹之事。
访问 suo.run,在极简的输入框里粘贴长链,一按即得;亦可 API 静默集成,让系统与系统之间悄然握手。

长链若诗,短码似印。
suo.run,让每一次分享,都像春燕掠水,轻盈无痕。