# shortlink **Repository Path**: product-code/shortlink ## Basic Information - **Project Name**: shortlink - **Description**: 🔥 热门推荐 🔥 SaaS 短链接系统,承载高并发和海量存储等场景难题。专为实习、校招以及社招而出的最新项目,项目质量不亚于 12306 铁路购票项目。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://nageoffer.com/shortlink - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 383 - **Created**: 2024-07-27 - **Last Updated**: 2025-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: 短链接 ## README 短链接(Short Link)是指将一个原始的长 URL(Uniform Resource Locator)通过特定的算法或服务转化为一个更短、易于记忆的 URL。短链接通常只包含几个字符,而原始的长 URL 可能会非常长。 短链接的原理非常简单,通过一个原始链接生成个相对短的链接,然后通过访问短链接跳转到原始链接。 如果更细节一些的话,那就是: 1. **生成唯一标识符**:当用户输入或提交一个长 URL 时,短链接服务会生成一个唯一的标识符或者短码。 2. **将标识符与长 URL 关联**:短链接服务将这个唯一标识符与用户提供的长 URL 关联起来,并将其保存在数据库或者其他持久化存储中。 3. **创建短链接**:将生成的唯一标识符加上短链接服务的域名(例如:http://nurl.ink )作为前缀,构成一个短链接。 4. **重定向**:当用户访问该短链接时,短链接服务接收到请求后会根据唯一标识符查找关联的长 URL,然后将用户重定向到这个长 URL。 5. **跟踪统计**:一些短链接服务还会提供访问统计和分析功能,记录访问量、来源、地理位置等信息。 短链接经常出现在咱们日常生活中,大家总是能在某些活动节日里收到各种营销短信,里边就会出现短链接。帮助企业在营销活动中,识别用户行为、点击率等关键信息监控。 ## 官方文档 - 什么是 SaaS 短链接系统:[https://nageoffer.com/shortlink](https://nageoffer.com/shortlink) - 🔥SaaS 短链接视频教程:[https://nageoffer.com/shortlink/video](https://nageoffer.com/shortlink/video) --- 在线体验地址:[SaaS短链接演示环境](http://shortlink.magestack.cn) 受限于网络安全规则,短链接跳转的目标网址仅支持 [拿个offer](https://nageoffer.com)、[知乎](https://zhihu.com)、[掘金](https://juejin.cn)、[博客园](https://cnblogs.com) 域名下所属链接。 小成本启动前后端系统,前端项目参考另一篇文档,后端项目仅启动 shortlink-aggregation 和 shortlink-gateway 服务即可。 Q:aggregation-service 服务是做什么的? A:为了减少大家本地启动内存压力以及服务器部署压力,将短链接中台和短链接后管系统进行了聚合,启动一个服务即可享受 Sass 短链接系统全部功能。 如果你是想跑微服务全流程,需依次启动 shortlink-project、shortlink-admin 以及 shortlink-gateway 等服务。 短链接系统框架底层依赖 SpringBoot3,而这个版本对 JDK 的要求最低是 17。所以,我们需要将项目的 JDK 修改为 17 版本,避免项目编译或运行报错。 --- ``` jdk >= 17 # 依赖 nacos 8848 9848通信端口 shortlink-gateway shortlink-aggregation # 安装 16.20.0 版本的 Nodejs n 16.20.0 # 安装完成后,执行切换 sudo n 16.20.0 # 切换成功后,输入 node -v 查看版本是否正确 node -v node > 16 npm install npm run dev ```