换享好书 2023年12月 – 至今
角色:Java开发工程师&组长
技术栈:SpringBoot + SpringCloud + MySQL + Redis + RabbitMQ + JWT + FastDFS + Docker + Kubernetes + MyBatis-Plus + Shiro + Prometheus + Grafana + ElasticSearch + Logstash + Kibana + Nginx + Jenkins + Git + SonarQube + Xxl-Job + Logback
项目简介:“换享好书”是一款创新的公益性换书交友 APP/小程序,它秉持着“换,享更多”的核心理念,为广大爱书人士打造了一个独特的交流与分享平台。在这个平台上,书籍不再被闲置,而是通过自由交换实现无限循环,达到书尽其用的目的。用户可以将自己的闲置书籍轻松发布,定价与否全凭个人意愿。强大的系统会自动匹配有需求的各方,提供就近见面取书或一键预约寄快递的便捷交换方式。读完的书籍还能“交换”,双方进行流转,形成一个周而复始的良性循环。不仅如此,“换享好书”还注重社交功能。基于 LBS 和兴趣,为用户提供社交机会。“书友圈”和“同城”等板块,更是将线上与线下紧密结合,打造出活跃的换书交友社群服务。在这里,用户可以交流读书心得、分享阅读感悟,结交志同道合的朋友。
个人职责:
1. 实现书籍详情页面,查看书籍的详细信息,包括简介、作者、出版社、价格等。
2. 允许用户将心仪的书籍添加至购物车,以便于统一管理和后续购买。
3. 支持书籍信息的发布、编辑以及上下架操作。
4. 实现了购物车提交转为正式订单,使用了分布式锁机制避免了因并发访问而导致的数据不一致问题。
5. 接入支付功能,用户可选择微信或支付宝作为支付方式,享受便捷快速的支付体验。
项目优化:
1. 使用布隆过滤器有效缓解缓存穿透问题,并通过增强ID复杂度策略对数据格式进行严格校验,进一步防止恶意请求。同时,实施请求限流措施,以避免数据库承受过载压力,防止服务因请求量过大而崩溃。
2. 使用RabbitMQ消息队列,优化了订单流程中的异步处理,使得系统能够在高峰时段处理更多的交易请求,吞吐量提高了40%。
3. 在多节点环境下,为了解决数据竞争问题,确保数据一致性,实施了分布式锁机制,并使用了CountDownLatch和LockSupport等Java并发工具包,成功地优化了系统的同步控制。
4. 通过手动配置线程池并利用 CompletableFuture 的异步编排技术,我们将原本串行执行的代码转换为并行执行,以提高代码执行速度和响应性。
5. 使用JProfiler性能分析工具对线上内存突增问题进行深入排查,成功识别出由于Select查询引发的性能瓶颈并提出了优化方案。
6. 在开发过程中,借助流行的国产AI(Kimi、豆包、智谱等)对个人思路进行编码实现和优化,大大提高了代码简洁度,以及开发效率。