littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Midway框架的短链服务系统

项目简介

本项目是基于Midway框架,结合Redis和MySQL搭建的短链服务系统。其核心功能是将长链接转换为短链接,方便链接的传播与使用。系统采用前端负载均衡(nginx)、urlserver集群、Redis缓存层和MySQL数据库的架构设计,具备良好的稳定性与扩展性。

项目的主要特性和功能

  1. 短链生成:接收长链接输入,运用基于62进制字符串与数据库ID转换的算法生成短链接,可用性和扩展性高。
  2. 长链还原:根据短链接找回并返回原始长链接。
  3. 缓存优化:利用Redis缓存,降低数据库访问压力,提升系统响应速度。
  4. 安全防护:通过校验码机制拦截无效请求,使用布隆过滤器过滤非数据库请求,增强系统安全性。

安装使用步骤

准备工作

假设你已经下载了本项目的源码文件。

配置修改

src/config/config*.ts中的MySQL和Redis配置修改为本地调试配置。

安装依赖并启动项目

在项目根目录下执行以下命令: bash $ npm i $ npm run dev

访问项目

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

使用示例

短链生成

bash curl -X POST -d "url=http://www.baidu.com" http://localhost:7001/api/createByLongUrl 返回示例: json { "code":0, "msg":"ok", "data":{ "url":"https://withnate.cn/o9" } }

长链还原

bash curl http://localhost:7001/api/getByShortUrl?url=https://withnate.cn/l 返回示例: json { "code": 0, "msg": "ok", "data": { "url": "http://www.baidu.com" } }

内置指令

  • npm run lint:进行代码风格检查。
  • npm test:执行单元测试。

待办事项

  • 添加IP来源限制,防止某个IP大量请求。
  • 开发删除功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】