🚀 企业级性能 🔒 安全可靠 ⚡ 毫秒级响应

下一代高性能短链接服务

基于 Rust 开发的企业级短链接服务,提供毫秒级响应速度、无限扩展能力和企业级安全性。支持多种存储后端,适用于从小型应用到大型企业级部署。

100K+ 并发处理
<1ms 响应时间
99.9% 可用性
API 示例
// 创建短链接
POST /api/v1/links
{
  "url": "https://example.com/very/long/url",
  "custom_code": "my-brand",
  "expire_in": 86400,
  "title": "产品介绍页面"
}

// 响应 (平均响应时间 <1ms)
{
  "success": true,
  "data": {
    "short_url": "https://short.link/my-brand",
    "original_url": "https://example.com/very/long/url",
    "expires_at": "2024-01-02T12:00:00Z",
    "created_at": "2024-01-01T12:00:00Z"
  }
}

企业级功能特性

专为现代应用设计的完整解决方案

极致性能

基于 Rust 和 Actix-web,单机支持 100K+ 并发连接,平均响应时间 <1ms,满足企业级性能需求

  • 异步非阻塞 I/O
  • 零拷贝数据传输
  • 内存安全保证
🔒

企业级安全

内置安全防护机制,支持链接过期、访问控制、恶意链接检测,确保服务安全可靠

  • 自动过期清理
  • 访问频率限制
  • URL 安全验证
📊

智能分析

提供详细的访问统计、地理位置分析、设备类型统计,帮助优化营销策略

  • 实时访问统计
  • 地理位置分析
  • 设备类型统计
🎯

灵活配置

支持自定义短码、品牌域名、批量导入、API 集成,满足各种业务场景需求

  • 自定义短码
  • 品牌域名支持
  • 批量操作 API
🔄

高可用架构

支持多种存储后端、自动故障转移、负载均衡,确保 99.9% 服务可用性

  • 多存储后端支持
  • 自动故障转移
  • 健康检查监控
🚀

一键部署

提供 Docker、Kubernetes、云原生部署方案,支持多云环境,简化运维复杂度

  • Docker 容器化
  • K8s 原生支持
  • 云原生架构

性能优势

与主流解决方案的性能对比

响应时间对比

ShortLink (Rust)
0.8ms
Node.js 方案
2.1ms
Python 方案
5.3ms

并发处理能力

100K+ 并发连接
50K+ QPS
99.9% 可用性

现代化技术架构

基于云原生理念设计的可扩展架构

微服务架构设计

ShortLink 采用现代化的微服务架构,具有高可用、高扩展、高性能的特点:

  • 高性能 Web 框架:Actix-web 提供异步非阻塞处理能力
  • 多存储后端:支持内存、Redis、PostgreSQL,可根据需求灵活选择
  • 模板引擎:Tera 模板引擎提供灵活的页面渲染
  • 后台任务:自动清理过期链接,保持系统整洁
  • 健康检查:内置健康检查接口,便于监控和运维
  • 配置管理:支持环境变量和配置文件,便于部署

接入层

负载均衡器
CDN 加速

应用层

Actix-web 服务器
Tera 模板引擎
API 网关

业务逻辑层

短链接生成
URL 验证
统计分析
访问控制

数据层

内存存储
Redis 缓存
PostgreSQL 数据库

快速开始

5 分钟快速部署,立即体验高性能短链接服务

1

克隆项目

git clone https://github.com/trueLoving/shortlink.git
cd shortlink
2

使用 Docker 运行

docker-compose up -d
3

访问应用

打开浏览器访问 http://localhost:8080

🚀 生产环境部署

使用 Docker Swarm 或 Kubernetes 进行生产环境部署

查看部署指南

🔧 自定义配置

根据需求自定义存储后端、域名配置等

查看配置文档

完整的 API 文档

RESTful API 设计,支持 JSON 格式,提供完整的 SDK 和示例

创建短链接

POST /api/v1/links

请求参数

{
  "url": "https://example.com/very/long/url",
  "custom_code": "my-brand",        // 可选,自定义短码
  "expire_in": 86400,              // 可选,过期时间(秒)
  "title": "产品介绍页面"           // 可选,链接标题
}

响应示例

{
  "success": true,
  "data": {
    "short_url": "https://short.link/my-brand",
    "original_url": "https://example.com/very/long/url",
    "expires_at": "2024-01-02T12:00:00Z",
    "created_at": "2024-01-01T12:00:00Z"
  }
}

获取链接统计

GET /api/v1/links/{code}/stats

响应示例

{
  "success": true,
  "data": {
    "total_clicks": 1250,
    "unique_visitors": 890,
    "top_countries": ["CN", "US", "JP"],
    "device_types": {"mobile": 60, "desktop": 40},
    "last_clicked": "2024-01-01T12:00:00Z"
  }
}

获取全局统计

GET /api/v1/stats

响应示例

{
  "success": true,
  "data": {
    "total_links": 150,
    "total_clicks": 12500,
    "active_links": 120,
    "expired_links": 30,
    "uptime": "99.9%",
    "response_time": "0.8ms"
  }
}

健康检查

GET /health

响应示例

{
  "status": "healthy",
  "timestamp": "2024-01-01T12:00:00Z",
  "version": "1.0.0",
  "uptime": "24h 30m 15s"
}

企业级部署方案

支持多种部署方式,满足不同规模企业的需求

🐳 Docker 部署(推荐)

使用 Docker 和 Docker Compose 进行快速部署:

# 克隆项目
git clone https://github.com/trueLoving/shortlink.git
cd shortlink

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件配置数据库等

# 启动服务
docker-compose up -d

# 查看日志
docker-compose logs -f

☸️ Kubernetes 部署

生产环境推荐使用 Kubernetes 进行部署:

# 应用 Kubernetes 配置
kubectl apply -f k8s/

# 查看部署状态
kubectl get pods -n shortlink

# 配置 Ingress
kubectl apply -f k8s/ingress.yaml

🔧 本地编译部署

如需自定义编译,可本地构建:

# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 编译项目
cargo build --release

# 配置环境变量
export DATABASE_URL="postgresql://user:pass@localhost/shortlink"
export REDIS_URL="redis://localhost:6379"

# 运行服务
./target/release/shortlink

⚙️ 环境配置

关键环境变量配置说明:

# 服务配置
PORT=8080                    # 服务端口
BASE_URL=https://your-domain.com  # 基础 URL
RUST_LOG=info               # 日志级别

# 数据库配置
DATABASE_URL=postgresql://user:pass@localhost/shortlink
REDIS_URL=redis://localhost:6379

# 安全配置
SECRET_KEY=your-secret-key  # 加密密钥
RATE_LIMIT=1000             # 速率限制