# short-link **Repository Path**: wangMeng0312/short-link ## Basic Information - **Project Name**: short-link - **Description**: 短链接 -------------------------------------------------------------------------- - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-04 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 短链接服务系统 ## 项目简介 这是一个完整的短链接服务系统,包含后台管理、链接跳转、第三方服务等多个模块。系统采用微服务架构设计,主要功能包括: - 短链接生成与管理 - 用户注册与登录 - 链接访问统计分析 - 链接回收站管理 - IP地理位置定位 - 链接分组管理 ## 技术架构 项目采用主流Java技术栈: - Spring Boot 2.x - MyBatis Plus - Redis & Redisson - Feign远程调用 - ShardingSphere分库分表 - BloomFilter防缓存穿透 - 线程上下文用户信息传递 ## 模块说明 ### 管理后台(admin) 提供用户管理、链接管理、分组管理等后台功能: - 用户注册/登录/信息管理 - 短链接创建/更新/删除 - 链接分组管理 - 链接回收站管理 ### 核心服务(project) 实现短链接核心功能: - 短链接生成与跳转 - 访问统计分析(PV/UV/地域/设备等) - 链接批量创建 - 链接访问日志记录 ### 第三方服务(third-party) 提供第三方功能支持: - IP地址地理位置查询 - 外部API接口服务 ### 网关(gateway) 微服务网关,处理: - 跨域请求 - 服务路由 - 请求过滤 ## 主要功能 ### 短链接生成 支持自定义域名、有效期、描述等参数生成短链接 ### 链接统计 提供详细的访问统计分析: - 访问量统计(PV/UV) - 访问地域分布 - 访问设备/浏览器统计 - 网络环境统计 ### 链接分组 支持将短链接进行分组管理,方便分类查看 ### 回收站管理 提供链接回收站功能,可恢复或彻底删除链接 ### 用户系统 完整的用户注册、登录、信息管理功能 ## 使用说明 ### 启动服务 1. 启动Nacos注册中心 2. 依次启动third-party、project、admin模块 3. 启动gateway网关 ### 接口文档 各模块提供RESTful API接口: - 管理后台接口: /short-link/admin/v1 - 核心服务接口: /short-link/core/v1 - 第三方接口: /api/short-link/third-party/v1 ### 配置说明 主要配置文件: - application.yml: 基础配置 - shardingsphere-config.yaml: 分库分表配置 - bootstrap.properties: 启动配置 ## 数据库设计 使用MySQL数据库,主要表结构: - t_user: 用户表 - t_group: 链接分组表 - t_link: 短链接信息表 - t_link_access_stats: 访问统计表 - t_link_access_logs: 访问日志表 - t_link_device_stats: 设备统计表 - t_link_os_stats: 操作系统统计表 ## 特色功能 - 链接访问统计分析可视化 - 支持链接有效期设置 - 防缓存穿透BloomFilter - 分布式锁实现 - 线程上下文用户信息传递 - 敏感信息脱敏处理 ## 开发部署 项目已按模块化设计,可独立部署各微服务模块。生产环境建议配合Nginx做负载均衡,并使用Redis集群提升性能。