# luren **Repository Path**: zhangjiaguo/luren ## Basic Information - **Project Name**: luren - **Description**: Java高并发、微服务、性能优化实战案例100讲 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: http://itsoku.com - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 134 - **Created**: 2024-03-27 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高并发 & 微服务 & 性能调优实战案例100讲 **所有案例均源于个人工作实战,均配合代码落地** > 作者:路人老师 > 微信:itsoku(提供在线技术支持&答疑) > 公众号:【路人甲Java】、【Java充电社】 > 视频号:程序员路人甲 --- ## 📖 项目简介 这是一个综合性的Java实战学习项目,包含60多个独立的课程模块,涵盖了Java高并发、微服务架构、性能调优等企业级开发的核心技术栈。每个课程都是一个完整的项目实例,包含详细的源码实现、技术文档和测试用例。 ## 🎯 课程特色 - ✅ **实战导向**:所有案例均来源于真实的企业级项目经验 - ✅ **代码落地**:每个课程都提供完整的可运行代码 - ✅ **原理讲解**:深入剖析技术原理和实现思路 - ✅ **即学即用**:方案可直接应用于实际工作中 - ✅ **在线答疑**:作者提供一对一技术支持 ## 🏗️ 项目架构 ### 技术栈 - **核心框架**:Spring Boot 2.7.13 - **微服务**:Spring Cloud Gateway、OpenFeign - **数据层**:MySQL + MyBatis-Plus + Redis - **工具库**:Hutool、Apache Commons、Lombok - **消息队列**:RabbitMQ、RocketMQ - **其他**:AOP、Validator、线程池、分布式锁等 ### 项目结构 ``` luren/ ├── document/ # 课程文档(96个Markdown文档) ├── lesson001/ # 分片上传实战 ├── lesson002/ # 多线程任务批处理工具类 ├── lesson003/ # 接口性能压测工具 ├── lesson004/ # 超卖问题解决方案 ├── lesson005/ # Semaphore接口限流 ├── lesson006/ # 并行查询优化 ├── lesson007/ # TransactionTemplate事务优化 ├── lesson008/ # Excel动态导出 ├── lesson009/ # 线程池管理器 ├── lesson011/ # 动态线程池 ├── lesson012/ # SpringBoot动态Job ├── lesson013/ # 并行查询性能优化 ├── lesson014/ # 幂等性解决方案 ├── lesson016/ # 接口通用返回值设计 ├── lesson017/ # DTO/VO命名规范 ├── lesson018/ # 复杂业务参数传递 ├── lesson019/ # 接口报错日志定位 ├── lesson023/ # ThreadLocal系列工具类 ├── lesson024/ # AOP请求链路日志 ├── lesson025/ # 大批量任务处理 ├── lesson026/ # 并发安全性验证 ├── lesson027/ # MySQL与Redis数据一致性 ├── lesson030/ # 数据脱敏设计 ├── lesson031/ # 操作日志实现 ├── lesson032/ # AOP简化MyBatis分页 ├── lesson033/ # ThreadLocal线程池坑 ├── lesson034/ # 读写分离实战 ├── lesson036/ # MQ使用场景 ├── lesson037/ # 消息可靠性保证 ├── lesson038/ # 事务消息实现 ├── lesson040/ # 延迟任务工具类 ├── lesson041/ # MQ延迟消息 ├── lesson042/ - 微服务链路追踪(Gateway版本) ├── lesson043/ # 消息幂等消费 ├── lesson044/ - 微服务链路追踪(Gateway版本) ├── lesson045/ # 消息顺序消费 ├── lesson046/ # 消息积压处理 ├── lesson047/ # MQ最终一致性-跨库转账 ├── lesson048/ # MQ最终一致性-余额提现 ├── lesson049/ # TCC分布式事务 ├── lesson050/ # 分布式锁基础 ├── lesson051/ # 分布式锁工具类 ├── lesson052/ # 分布式锁注解 ├── lesson053/ # 微服务上下文传递 ├── lesson054/ # 租户数据隔离 ├── lesson055/ # MyBatis通用CRUD ├── lesson058/ # MyBatis分表功能 ├── lesson059/ # 多租户ORM框架 ├── lesson061/ # PO变化监听 ├── lesson064/ # 死锁排查 ├── lesson065/ # 内存溢出排查 ├── lesson066/ # CPU占满排查 ├── lesson067/ # 代码生效排查 ├── lesson068/ # 接口慢查询排查 ├── lesson073/ # 接口参数返回值查看 ├── lesson074/ # 远程Debug ├── lesson077/ # 生产故障定位 ├── lesson078/ # DB缓存一致性 ├── lesson082/ # Redis场景案例 ├── lesson084/ # 资金账户设计 ├── lesson085/ # 其他实战案例 ├── lesson086/ # 其他实战案例 ├── lesson087/ # 其他实战案例 ├── lesson089/ # 其他实战案例 ├── lesson090/ # 其他实战案例 ├── lesson091/ # 其他实战案例 ├── lesson093/ # 其他实战案例 ├── lesson096/ # 其他实战案例 ├── pom.xml # Maven父项目配置 └── README.md # 项目说明文档 ``` ## 📚 课程大纲 ### 🚀 高并发系列 1. **分片上传实战** - 大文件高效上传解决方案 2. **多线程任务批处理** - 通用并发处理工具类 3. **接口性能压测** - 自研压测工具实现 4. **超卖问题解决** - 4种方案防止并发修改数据出错 5. **Semaphore限流** - 接口流量控制实战 6. **并行查询优化** - 提升接口响应速度 7. **大事务优化** - TransactionTemplate性能优化 8. **线程池管理** - 手写线程池管理器与监控 9. **动态线程池** - 运行时调整线程池参数 10. **ThreadLocal专题** - 三种ThreadLocal使用场景与坑 ### 🔧 工具类系列 11. **Excel动态导出** - 通用Excel导出功能 12. **幂等性设计** - 4种幂等性解决方案 13. **接口返回值设计** - 统一响应格式 14. **命名规范** - DTO/VO命名最佳实践 15. **参数传递** - 复杂业务参数设计方案 16. **日志定位** - 快速定位接口错误日志 17. **链路追踪** - AOP统一请求日志 18. **数据脱敏** - 敏感数据处理 19. **操作日志** - 一行代码实现操作记录 20. **分页简化** - AOP简化MyBatis分页 ### 🌐 微服务系列 21. **读写分离** - SpringBoot实现读写分离 22. **上下文传递** - 微服务间数据传递 23. **链路追踪** - 分布式请求链路监控 24. **租户隔离** - 多租户数据隔离方案 25. **Gateway实战** - 微服务网关应用 26. **服务治理** - 微服务架构设计 ### 📨 消息队列系列 27. **MQ使用场景** - 7种典型MQ应用场景 28. **消息可靠性** - 确保消息不丢失方案 29. **事务消息** - SpringBoot实现事务消息 30. **延迟消息** - 延迟任务处理方案 31. **消息幂等** - 重复消费处理 32. **顺序消息** - 保证消息顺序消费 33. **消息积压** - 消息积压问题解决 34. **最终一致性** - MQ实现分布式事务 ### 🔒 分布式系列 35. **分布式锁** - 分布式锁实现与使用 36. **锁工具类** - 好用的分布式锁工具 37. **锁注解** - 注解式分布式锁 38. **TCC事务** - TCC分布式事务实现 39. **跨库转账** - 分布式事务实战案例 40. **余额提现** - 资金操作分布式事务 ### 🗄️ 数据存储系列 41. **通用CRUD** - MyBatis无SQL版CRUD 42. **分表功能** - MyBatis分表实现 43. **多租户ORM** - 租户隔离ORM框架 44. **PO监听** - 自动监听实体变化 45. **数据一致性** - MySQL与Redis一致性 46. **Redis应用** - Redis场景化案例 ### 🔍 性能调优系列 47. **死锁排查** - 死锁问题定位与解决 48. **内存溢出** - OOM问题排查方法 49. **CPU排查** - CPU占满问题定位 50. **代码生效** - 生产代码未生效排查 51. **慢接口** - 接口性能问题定位 52. **参数查看** - 生产接口参数查看 53. **远程Debug** - 远程调试技术 54. **故障定位** - 生产故障快速定位 55. **账户设计** - 系统资金账户设计 ## 🎓 学习收获 学完本课程,你将掌握: - **高并发技术**:线程池、并发控制、性能优化等核心技能 - **微服务架构**:服务治理、链路追踪、分布式事务等架构能力 - **性能调优**:系统监控、问题定位、性能优化等实战经验 - **分布式技术**:分布式锁、消息队列、数据一致性等解决方案 - **工程实践**:代码规范、工具类设计、架构设计等最佳实践 ## 👥 适合人群 - 有一定Java基础的开发者 - 想要提升实战经验的Java工程师 - 希望掌握高并发、微服务技术的开发者 - 遇到技术瓶颈需要突破的中级开发者 - 想要成为架构师的高级开发者 ## 🚀 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 5.7+ - Redis 3.0+ - IDE:IntelliJ IDEA(推荐) ### 运行步骤 1. **克隆项目** ```bash git clone [项目地址] cd luren ``` 2. **安装依赖** ```bash mvn clean install ``` 3. **选择课程模块** ```bash # 例如运行lesson001 cd lesson001 mvn spring-boot:run ``` 4. **查看文档** - 每个课程都有对应的Markdown文档 - 文档位于`document/`目录下 - 包含原理讲解、源码解析、测试用例 ## 📖 学习建议 1. **循序渐进**:按照课程编号顺序学习,技术难度逐步递增 2. **动手实践**:每个课程都要亲自运行代码,修改参数测试效果 3. **理解原理**:不要只复制代码,要理解背后的技术原理 4. **举一反三**:学会将解决方案应用到自己的实际项目中 5. **积极提问**:遇到问题及时联系作者获取帮助 ## 🤝 技术支持 - **微信**:itsoku(提供一对一答疑) - **公众号**:【路人甲Java】、【Java充电社】 - **视频号**:程序员路人甲 - **个人网站**:http://itsoku.com/ ## 📄 版权信息 本项目为付费课程内容,仅限学习使用。未经授权不得用于商业用途。 --- **让每个Java开发者都能掌握高并发、微服务、性能调优的核心技术!**