项目简介
本项目是基于Spring Boot框架开发的短链接生成系统,可将长URL转换为短URL。运用多种算法和技术保障短链接的唯一性与高效性,同时设有流量控制和缓存机制,确保系统稳定运行。
项目的主要特性和功能
- 短链接生成:利用MD5算法对长URL加密生成唯一短链接,短链接存储在内存中并采用LRU缓存策略管理。
- 流量控制:通过自定义注解
RateLimit
实现接口速率限制,使用Google Guava的RateLimiter进行流量控制。 - 缓存机制:采用基于LRU算法的缓存机制和分段缓存策略,提升热点数据访问效率和并发访问性能。
- API文档生成:配置Swagger工具自动生成API文档,便于开发者查看和测试API。
- 分布式ID生成:使用SnowFlake算法生成全局唯一ID,支持分布式环境。
安装使用步骤
环境准备
- 确保已安装Java 8或更高版本。
- 安装Maven,用于项目构建和管理依赖。
复制项目
bash
cd url-shorter
构建项目
bash
mvn clean install
运行项目
bash
mvn spring-boot:run
访问API文档
项目启动后,访问http://localhost:8080/swagger-ui.html
查看API文档。
生成短链接
- 使用POST请求访问
/generate
接口,传入长URL,返回生成的短链接。 - 使用GET请求访问
/query/{code}
接口,传入短链接代码,返回原始URL。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】