短链接系统
帮助用户完成较长链接转换城短链接场景。受微博发送博文长度限制,仅能发表150字,如果想要分享链接,无疑会占用正
文篇幅,为此通过短链系统优化该问题。系统底层支持高并发短链跳转场景,并提供了深入的分析和跟踪功能,帮助微博用
户分析分享行为以及转化率等。
技术架构:
核心技术:SpringBoot + SpringCloudAlibaba + RocketMQ + ShardingSphere + Redis + MySQL + Sentinel
功能描述:
在短链接系统开发中,为提升性能、保障数据一致性与系统稳定性,我们采取了一系列创新且高效的技术方案:
布隆过滤器精准判断:引入布隆过滤器用于短链接存在性判断,相较于传统的分布式锁搭配数据库查询方案,性能得到显著
提升,能快速且高效地识别短链接是否已存在。
RocketMQ 削峰存储监控信息:利用 RocketMQ 消息队列的 “削峰” 特性,在短链接遭遇大量访问时,平稳处理并完成监
控信息的存储工作,确保系统在高并发场景下的稳定运行。
缓存读取封装与双重判定锁优化:对缓存不存在时的读取功能进行封装,并采用双重判定锁策略,有效解决了缓存更新或失
效时大量查询数据库的问题,提升了系统的整体性能。
数据库与缓存一致性保障:采用更新数据库后删除缓存的策略,确保短链接在缓存与数据库之间的数据一致性,避免因数据
不一致导致的业务异常。
Redis 实现消息队列幂等消费:借助 Redis 的强大功能,实现了消息队列消费业务的幂等性,保证消息在规定时间内被消费
且仅消费一次,避免了重复消费带来的问题。
Redisson 分布式读写锁保障数据修改:运用 Redisson 的分布式读写锁功能,在短链接面临大量访问的情况下,确保数据
2023.10-2024.12
修改操作的安全与高效,防止数据冲突。
路由表实现短链接后管分页跳转:为满足短链接后管用户分页查看短链接的需求,在短链接数据分片的基础上引入路由表,
实现了流畅的跳转功能,提升了用户体验。
Sentinel 限流与降级保障系统稳定:通过 Sentinel 对接口访问进行 QPS 限流,为短链接系统的稳定运行保驾护航。当触发
限流规则时,系统会自动进行降级处理,确保系统的可用性。