项目名称:技术派社区项目(2024.07-2025.03)
项目描述:技术派是一个前后端分离的社区项目,采用主流的互联网技术架构、全新的 UI 设计、支持一键源码
部署,拥有完整的教程发布、搜索、评论、统计流程等。
技术栈:
Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、RabbitMQ、MongoDB、Docker
责任描述:作为核心研发人员,主要负责登录认证、消息通知、文章模块、以及管理后台的开发工作。
核心技术:
通过验证码和前端保持半长链接映射关系,当用户扫码关注公众号并输入验证码后,发起回调,识别用户信
息并找到对应半长链接,实现系统自动登录;
将用户评论、点赞、收藏、系统消息发送到 RabbitMQ,实现消息的异步解耦,提升系统效率和服务稳定
性;
通过 Redis 实现计数统计和用户活跃度排行,并通过先写 MySQL,再删除 Redis 的方案来保证高并发场
景下的缓存一致性。
基于 ThreadLocal 在登录校验拦截器中封装线程隔离的全局上下文,以便在线程内部存储用户信息,减少用
户信息的数据库查询次数。
自定义实现 Markdown 编辑器,通过复制粘贴即可将非同源的图片下载并上传至 OSS 实现智能化转链,
并借助线程池和异步任务提升系统的高并发能力;
通过 Nginx 代理,将客户端请求转发到目标服务器的后端 API 接口,从而解决跨域问题; 采用
HandlerExceptionResolver 的全局异常处理策略,提高了代码的健壮性和可维护性,优化了用户体验;
借助 Redis 的 zset 数据结构和幂等策略,实现用户活跃度排行榜;
通过提前建立 Socket 链接,来解决本地服务启动时 8080 端口可能被占用的问题;
借助 Redis 的 zset数据结构实现轻量级的作者白名单,提升优秀作者发布文章的用户体验;
采用自旋锁策略优化缓存架构,针对热 key 的并发访问进行同步,防止其失效时导致的缓存击穿;
通过 React+Ant-Design+Vite+ECharts 完成 了 Admin 端的开发工作,界面非常漂亮,并且极大地提高
了项目日常的运营效率。