快缩短网址 · 极简之道
—— 让每一条长链优雅呼吸的 suō.run 设计札记
一、缘起
信息洪流中,冗长 URL 像藤蔓般缠绕。我们取“缩”之形意,铸 suō.run——一枚仅六字符的域名,却足以容纳整个互联网的浩瀚。
二、功能诗学
1. 瞬时凝练
输入任意长链,毫秒级返回形如 suō.run/a1B2c3 的短链,长度锁定在 8~12 字符,复制零负担。
2. 自定义铭牌
支持用户自设后缀,如 suō.run/brand2025,品牌心智即刻沉淀。
3. 生命周期
默认 90 日悄然凋谢,亦可由主人设定 1 小时至永久。到期即焚,不留一丝尘埃。
4. 不可预测
采用 62 进制随机 + 加盐哈希,杜绝枚举,令爬虫与恶意者无从下手。
三、非功能之韵
• 高可用:三活数据中心,任一城市失联,流量 30 秒内自愈。
• 低延迟:全球 Anycast + 边缘缓存,95% 请求 < 30 ms。
• 可观测:每次跳转皆留痕,实时仪表盘呈现 PV、UV、地域、设备四维画像。
• 开放:RESTful API 两行为链,一行缩短,一行解析,供万物调用。
四、容量与节制
• 五年留存 300 亿条记录,冷热分级:
‑ 热数据:Redis 集群 170 GB,承载日活 20% 高频链。
‑ 温数据:NVMe SSD 分层,周级下沉。
‑ 冷数据:对象存储 Glacier,分钟级唤醒。
• 滥用防护:
‑ 令牌桶限速 + 人机校验 + 域名黑名单三重闸门。
‑ 异常模式 AI 识别,秒级熔断。
五、算法与结构
1. 发号器
Snowflake 变种,64 bit 自增 ID → Base62 编码,既有序又分散,兼顾单调与随机之美。
2. 分区
按 Key 首字节哈希 256 分区,未来可水平扩容至 65536 分区而无感知迁移。
3. 缓存
LRU-K 淘汰,热点链常驻内存;过期链惰性清理,后台协程以 1% CPU 时间温柔回收。
六、失效与再生
• 主动探测:过期链索引按日滚动,扫描耗时 < 5 分钟。
• 被动守护:用户访问时若已过期,返回 410 Gone,并同步删除,确保数据零污染。
七、调用示例
curl -X POST https://suo.run/api/v1/shorten \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"url":"https://example.com/very/long/page","alias":"launch2025","ttl":86400}'

八、尾声
在 suō.run,每一次点击都是一次轻盈的跃迁。我们把复杂留给自己,把简洁献给你。
现在,就让冗长归于静默,让链接重获自由——
即刻体验:suo.run
