抖音分享短链接系统围绕用户分享抖音视频提供便利性,比如分享至微信等平台时通过文本加短链形式帮助提高传播率。系统底层支持高并发短链跳转场景,并提供了深入的分析和跟踪功能等。通过6c32G+i5单机部署进行压测,核心功能短链跳转原始连接 3000/QPS。技术架构:SpringBoot + RocketMQ + JdHotKey + ShardingSphere + Redis +MyBatis-Plus+ MySQL + Sentinel个人职责:1.基于京东开源的 JdHotKey 框架优化热点短链接访问,采用 Caffeine 与 Redis 组合实现多级缓存策略。相比直接访问 Redis,实现吞吐量平均提升 3倍,显著提升跳转效率。2.通过分片策略解决 Redisson 布隆过滤器大量存储场景下容量限制问题,并通过 ScheduledExecutorService 定时检查布隆过滤器是否存在扩容需求,基于双可用区的设计实现布隆过滤器的动态在线扩容。3.在短链接数据利用ShardingSphere 分片的基础上,引入路由表来支持用户分页查看短链接,确保分页功能的兼容性和短链接跳转原始链接的高效性。4.通过布隆过滤器判断短链接是否存在,相对查询数据库判重优化了 MySQL 处理能力,使接口响应时间降低 20%以上。5.通过 Sentinel 对短链接系统进行 QPS 限流,使用压测结果 80% 性能设置限流阈值。在触发限流规则时,自动进行降级处理。6.使用 MySQL 存储用户访问短链接的监控数据,结合 RocketMQ “削峰”能力,保障在大流量下完成监控存储。7.通过 Redis 完成消息队列消费业务下的幂等场景,保障消息在一定时间内消费且仅消费一次。8.封装缓存失效读取功能,基于分布式锁机制在缓存击穿时重构缓存, 通过双重判定优化更新或失效场景下大量查询数据库问题。9.为保障短链接缓存与数据库之间的数据一致性,采用了通过更新数据库删除缓存的策略,保证了两者之间的数据一致性。声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论