小哈知识星球介绍 - Java&AI 实战项目训练营
个人介绍
大家好,我是小哈,前某厂中台架构,14年毕业,入坑了 Java 后端,目前已工作十余年,先后供职于支付、共享等互联网领域,主导负责过数据传输、日志中台、任务调度、文件平台等产品。同时,我也是公众号「小哈学 Java」的主理人。
“Java&AI 实战项目训练营 ” 是我在 工作 8 年后,创建的一个学习小圈子,主要提供实战项目、简历优化,以及 1v1 答疑等服务。很多小伙伴在认真学习了项目后,写到简历上,成功拿到了心仪的校招或社招 Offer。
星球真实反馈
以下截取了一部分真实反馈,都来自于星球成员的微信私聊报喜,以及项目交流群内部的讨论:
星球里有什么?
4 个实战项目
加入星球后,以下所有项目全部解锁,都能学习,另外,还会持续更新内容,上新项目! 每年至少上新 1 个项目,加入越早,学的越多,提升简历项目亮点。
| 项目 | 架构方向 | 状态 |
|---|---|---|
| 小哈书(仿小红书) | Spring Cloud Alibaba 微服务 | ✅已完结 |
| Spring AI 应用(问答机器人 + 智能客服 + 联网搜索) | Spring AI + 大模型 | ✅已完结 |
| 前后端分离博客 & Wiki 知识库 | 单体 MVC 全栈架构 | ✅已完结 |
| 秒杀系统 | 高并发优化实战 | 🔄更新中 |
项目 1:小哈书(仿小红书) — 微服务架构
- 项目介绍:一个类小红书社区项目,主要包括笔记发布、点赞、收藏、关注等功能。平台需要满足高并发读写和数据一致性要求,确保用户操作的实时响应,并通过分布式架构实现高可用和高扩展性。
- 演示地址:http://116.62.199.48:7070/
- 项目架构:微服务分布式架构 + Maven 多模块 + Spring Boot Starter 组件 + 前后端分离;
- 技术栈:Spring Cloud Alibaba + Nacos + Gateway + Feign + Mybatis + MySQL + Redis + RocketMQ + SaToken + Minio + Cassandra + Zookeeper
- 担任角色: Java 后端开发
- 核心职责:
- 平台设计:负责平台整体的需求梳理、技术选型、架构设计、项目搭建、接口与表设计,从 0 落地一个微服务架构,确保平台具有高扩展性、高可用性和高性能,能够承载海量用户访问和操作。
- 组件、工具类封装:主导了多个通用功能模块的组件化封装,提升了代码的复用性和可维护性,包括用户上下文组件、接口切面日志组件、Jackson 自动化配置组件;全局异常捕获、自定义参数校验注解、响应工具类等等。
- 服务拆分:根据业务领域和职责边界来拆分服务,包括网关服务、认证服务、用户服务、笔记服务、用户关系服务、计数服务、OSS 对象存储服务、分布式 ID 生成服务、KV 短文本键值存储服务等等,确保每个服务具备单一职责,降低耦合度。每个微服务都独立部署与维护,支持水平扩展。
- 网关服务:负责 Gateway 网关服务的搭建与开发,实现统一路由管理、负载均衡;使用 SaToken 实现网关的统一鉴权;全局过滤器解析 Token 令牌,并将用户 ID 透传给下游服务。
- 认证服务:负责认证服务的搭建与开发,基于 RBAC 模型,使用 SaToken 实现用户的 JWT 登录认证(支持账号登录、手机验证码登录)、登出、用户自注册、密码修改;对接阿里云 SMS 服务,自定义线程池异步发送手机号验证码,并实现短信接口防刷。
- 分布式 ID 生成服务:负责整合美团 Leaf 源码,搭建分布式 ID 生成服务,以 Feign 接口的形式,对外提供号段 ID 生成、雪花算法 ID 生成 两种模式的分布式 ID 生成方式;使用 Jmeter 压测单机单节点,接口的吞吐量可达到 22000+/s , 平均响应耗时 4ms,日提供 19 亿+ 次的 ID。
- OSS 对象存储服务:负责对象存储服务的搭建与开发,以存储图片、视频等非结构化数据。使用工厂模式 + 策略模式实现文件存储的扩展性,目前已支持阿里云 OSS、Minio 两种不同类型;并通过 Nacos 分布式配置,实现动态注册文件策略实现类 Bean 到 Spring 容器中。
- KV 短文本键值存储服务:负责 KV 键值存储服务的搭建与开发,基于 RocksDB 存储引擎上构建的 Apache Cassandra,实现对平台短文本的的存储与查询,如笔记正文、评论内容等。
- 用户服务:负责设计和实现用户服务,提供用户的基本信息管理,如用户信息修改、注册、查询、密码更新(BCrypt 随机 “盐” 加密)等;使用 Redis + Caffeine 本地缓存构建二级缓存,实现对外提供的接口,能够支持对用户信息查询的高并发读,能够有效防止缓存雪崩、缓存穿透、缓存击穿。
- 笔记服务:负责设计和实现笔记服务,支持用户进行笔记发布、编辑、查询、置顶、权限修改等功能。
- 通过 CompletableFuture 并发调用下游服务,以降低接口响应耗时;并通过二级缓存,支持笔记详情查询的高并发读;
- 笔记更新、删除时,使用 RocketMQ 广播服务,实现集群环境下,对本地缓存中缓存的删除,达到数据一致性;
- 点赞接口支持高并发写:使用 Redis Bloom 布隆过滤器 (后优化为咆哮位图 Roaring Bitmap),高性能判断用户是否点赞,通过 Redis ZSET + MQ 异步落库,消费者中使用 RateLimiter 令牌桶实现流量削峰,防止打垮数据库;
- 用户关系服务:负责设计和实现用户关系服务。
- 用户关注与取关:支持平台用户之间的关注、取关高并发写等社交操作,维护用户的社交关系链。通过 Redis 缓存 + 发送顺序消息 MQ 异步存库,实现接口的高并发写与操作的顺序性,使用 Lua 脚本,避免频繁操作 Redis 造成的性能瓶颈,且保证多次操作的原子性;消费者使用联合唯一索引保证关系记录的幂等性;
- 粉丝列表、关注列表查询:通过 Redis ZSET 数据结构,针对两种列表,分别使用不同的策略来缓存热点数据,以支持的高并发读分页查询请求;
- 计数服务:负责设计并实现高并发场景下的计数服务,用于统计用户的关注数、粉丝数、点赞数等各种计数需求,确保在大规模用户互动下,计数服务依然具备高性能与高可用性。
- 通过消费用户行为操作的 MQ,如关注、取关, 在消费者中,使用 BufferTrigger 进行流量聚合,如 1000 条一批,1s 写入一次,先将计数数据写入 Redis 中, 再异步流量削峰进行落库,以支持高并发写;
- 数据对齐服务:负责服务的设计与实现,通过补偿方案,实现计数的最终的一致性。
- 使用 XXL-Job 定时调度任务,预创建 各维度日增量计数变更记录表;通过消费 MQ, 完成各维度当日发生变更的计数记录的存储;
- 设计并实现 分片广播任务,通过并行计算优化大数据量的处理速度,确保凌晨时段内计数对齐任务的高效执行;
- 搜索服务:
- 负责笔记、用户索引的设计,并通过 logstash 实现全量索引的构建;
- 结合 Canal 实现对 MySQL 的监听,自定义 Binlog 事件业务处理,完成对 Elasticseach 笔记、用户增量索引的实时构建,确保数据的一致性;
- 负责开发笔记、用户搜索接口,支持中文分词、关键词高亮、按维度条件筛选、自定义文档评分等;
- 评论服务:
- 表设计与数据冗余:为提高查询效率,设计了冗余字段存储评论相关数据,例如最早回复的评论 ID 和子评论数,避免多表关联查询。
- MQ 生产者可靠性设计:采用 Spring Retry 实现发送 MQ 自定义重试机制,结合 兜底写库 和 异步发送失败消息 机制,实现 MQ 最终发送成功;
- 评论发布功能开发:实现高效的评论发布接口(异步写),支持评论内容的持久化存储,并触发相应的异步操作,如热度值计算和评论总数更新;
- 批量消费与写入优化:消费端实现批量消费 MQ 消息,并通过批量写入提高数据库写入吞吐量,优化高并发场景下的评论数据处理效率;
- 评论分页查询:实现了一级、二级评论分页查询接口,结合 Redis 和本地缓存实现二级缓存,提高查询效率;
- 评论点赞、取消点赞、删除功能:针对评论点赞、取消点赞,通过 MQ 异步处理、批量消费、批量写库方案,内存操作合并,实现对点赞数据的高性能写入;
项目 2:Spring AI 应用(问答机器人 + RAG 智能客服 + 联网搜索)
- 项目介绍:一款基于 Spring AI 框架构建的智能对话平台,包含通用聊天机器人、智能客服(基于 RAG 私有知识库)在内的两套 AI 应用。
- 技术栈:
- 后端:Spring Boot 3.x、JDK 21、Spring AI、DeepSeek、MyBatis Plus、PostgreSQL、RAG、SSE、SearXNG、OkHttp3、Jsoup、Docker
- 前端:Vue 3.x、Vite 4、Ant Design Vue、Tailwind CSS、Pinia、Axios、EventSource / fetch-event-source
- 担任角色: 全栈开发
- 项目职责:
- 聊天记忆与持久化:集成 PostgreSQL 作为核心业务与向量存储数据库,实现了会话的长上下文记忆管理。自定义 Advisor 组件,在每次模型调用前后自动注入历史对话,消息持久化,并完整收集流式与非流式响应,为后续分析与审计提供了可靠的数据基础。
- 联网实时搜索:负责 Docker 自部署 SearXNG 聚合搜索引擎,后端利用 OkHttp3 并发请求,结合 CompletableFuture 与自定义线程池优化搜索速度,并使用 Jsoup 清洗网页正文,有效将外部信息 Token 消耗降低超过 60%,使 AI 大模型具备实时、准确的信息获取与回答能力。
- RAG 检索增强:负责自定义 RAG Advisor 组件,检索私有知识库的向量数据,并动态构建增强提示词模板,成功交付了 “按指定问答语料进行对话” 的智能客服。
- 提示词工程:负责多个场景的提示词编写与优化工作,包含联网搜索、客服问答场景。通过角色设定、规则约束与上下文管理策略,显著提升了大模型在复杂任务中的准确性、可靠性与输出一致性。
- 后端业务开发:基于 Spring Boot 3.x 搭建了完整的后端服务体系。涵盖对话管理、消息分页、知识库 Markdown 文件管理。运用 Spring Event 发布/订阅模式,优雅解耦了文件上传后的解析、向量化等异步处理流程,提升了系统响应速度与代码的清晰度。
- 前端应用开发:使用 Vue 3 与 Vite 构建单页应用,基于 Ant Design Vue 与 Tailwind CSS 打造了风格统一的聊天界面与管理页;采用 SSE 协议对接后端流式接口,并封装了可实时渲染流式 Markdown、聊天对话框、侧边栏等一系列自定义组件;使用 Pinia 管理全局模型选择、搜索开关等状态;实现了聊天记录与对话列表的滚动分页加载等。
- 大文件上传:实现了大文件分片上传、断点续传与秒传功能,通过前端 MD5 计算、后端接口设计及并发分批上传、失败重试等优化,显著提升了文件上传的稳定性与效率。
项目 3:前后端分离博客 Weblog & Wiki 知识库
- 项目介绍:一款基于前后端分离架构的个人博客,包含面向读者的响应式博客前台,以及后台管理系统。
- 演示地址:http://116.62.199.48/#/
- 技术栈:
- 后端:Spring Boot 2.x、JDK 1.8、MySQL 5.7、MyBatis Plus、Spring Security、JWT、Minio、Lucene、Maven、MapStruct、Nginx、Docker、Jenkins、CI/CD
- 前端:Vue 3.x、Vite 4、Element Plus、Tailwindcss、Pinia、Axios、Echarts、Flowbit
- 担任角色: 全栈开发
- 项目职责:
- 工程搭建与设计:负责前后台需求分析、技术选型、接口与表的设计;基于 Spring Boot 构建多模块 Maven 工程,并主导封装了多个基础组件,包括自定义切面日志注解、全局异常处理器、统一响应体、Markdown 解析工具等。
- 认证授权:整合 Spring Security 与 Jwt 实现密码加密存储,用户认证登录与角色鉴权功能(管理员与游客),保障系统安全。
- 内容管理:完整实现了文章、分类、标签、评论、知识库(支持二级目录与拖拽排序)、博客设置、仪表盘(集成 ECharts 数据可视化)、评论审核(含敏感词过滤与邮件通知) 在内的后台管理系统。
- 站内搜索:集成 Lucene 全文检索引擎轻量级方案,实现了中文分词搜索、关键词高亮功能。
- 代码解耦:使用 Spring 事件发布订阅模型,异步解耦计数统计(如分类标签下文章数、阅读量)、评论回复邮件通知、Lucene 索引同步等高耗时或非核心业务,保障接口响应速度。
- CI / CD 持续集成与部署:编写 Dockerfile 与 Shell 部署脚本,通过 Jenkins 搭建自动流水线,保障了应用的稳定上线与高效迭代。
- 运维上线:配置 Nginx 反向代理、前端静态文件部署、Gzip 压缩、SSL 证书部署、域名解析。
- 博客后台:使用 Vue 3 + Vite 从零搭建 SPA 应用,自行开发了 Admin 管理骨架,实现可折叠侧边菜单、多标签页导航(支持动态增删、页面缓存等),并完成了所有后台页面的开发。
- 博客前台:主导开发响应式前台页面,实现黑夜白天主题切换、数字滚动、代码高亮、文章目录生成、评论互动等功能,并封装了系列可复用组件。
项目 4:秒杀系统 — 高并发优化实战
TIP: 此项目还在更新中,目前的项目职责,仅写出了已经完成的功能。
-
项目介绍:基于 Spring Boot 3 + Spring Cloud Alibaba 构建的电商高并发秒杀系统,采用渐进式架构演进,从单体应用逐步优化至微服务架构。系统通过多级缓存、消息队列异步下单(RocketMQ 削峰填谷)、Redis Lua 原子扣减库存 + Redisson 分布式锁、页面静态化 + CDN 加速、多层限流(Nginx → Gateway → Sentinel)等手段,将系统 QPS 从 280 逐步提升至 30000+,覆盖缓存穿透/击穿/雪崩、防超卖、防重复下单、防黄牛刷单、售罄拦截、服务熔断降级等高并发核心场景。
-
技术栈: Java 21、Spring Boot 3.5、Spring Cloud Alibaba(Nacos / Gateway / Sentinel / Feign)、MyBatis、MySQL、Redis、Caffeine、Redisson、RocketMQ、SaToken、Docker、Nginx、JMeter、Log4j2、Disruptor、Maven 多模块
-
担任角色:后端开发
-
项目职责:
-
多模块架构设计:采用 Maven 多模块架构(app / common / user / goods / order),按业务域拆分模块,实现用户、商品、订单各模块的职责隔离与独立演进
-
基础设施:整合 Log4j2 + Disruptor 实现高性能异步日志;自定义 AOP 注解实现 API 操作日志记录;全局异常统一处理;统一响应格式封装
-
多级缓存架构:设计 L1 本地缓存(Caffeine)+ L2 分布式缓存(Redis)的多级缓存方案,采用旁路缓存模式(Cache-Aside Pattern),读接口平均响应时间从 4ms 降至 2ms,降幅约 50%;商品数据按 "L1 → L2 → DB" 逐层回源,L1 命中时省去 Redis 网络往返,库存字段单独实时查询 DB,保障数据准确性
-
缓存预热与动态过期:实现基于活动时间的动态 TTL 策略(TTL = 活动结束时间 - 当前时间 + 30min 安全冗余),活动结束后自动切换为短 TTL(5min);提供管理端缓存预热接口,活动开始前将商品数据批量加载至 Redis
-
防缓存穿透:采用空值缓存(5min TTL)+ Redisson 布隆过滤器双重防线,在查询 Redis 前先通过布隆过滤器校验活动/商品是否存在,有效拦截非法请求对数据库的穿透压力
-
秒杀下单与防超卖:基于 SQL 条件判断(
WHERE stock > 0)实现乐观锁防超卖,结合唯一索引 + 应用层 ConcurrentHashMap 锁(userId + activityId + goodsId 维度)防止重复下单,使用 TransactionTemplate 编程式事务确保库存扣减与订单创建的原子性 -
用户认证与安全:整合 SaToken 实现用户注册/登录/鉴权,Token 持久化至 Redis;引入行为式验证码(滑块验证码)防止自动化攻击;基于 Redis Lua 脚本实现验证码原子校验、每日发送上限控制、登录失败次数限制与账号临时锁定
-
持续更新中...
-
项目之外,还有这些专属权益
1v1 答疑
跟着项目做,哪小节卡住了?直接在星球或微信提问,双重答疑通道,不让任何人掉队。 技术问题、简历问题、学习路线问题,都可以问。
简历优化
不知道项目怎么写进简历?写上去怕面试官追问?我来帮你:
-
帮看简历:提交简历,我给出修改建议,提升约面几率
-
项目简历模板:每个项目都配套了简历模板,教你怎么描述技术亮点
Java 学习路线
不知道学什么、先学什么后学什么?星球提供完整的 Java 后端学习路线,还会推荐免费高质量视频教程,按路线走就行。
专属 VIP 群 & 学习打卡
星球 + 专属 VIP 微信群,4700+ 小伙伴一起学习、打卡、讨论。一个人学很容易放弃,看到别人在进步,你也不好意思躺平。
每月赠书福利
对于星球内部活跃的用户,每个月都有赠书活动,一本书至少都四五十,相当于星球的门票钱都能省回来。
关于定价
星球目前原价 89 元/年,新用户可以领 15 元优惠券,实付 74 元。
74 元是什么概念呢?
- 培训机构报一个 Java 项目班,几千上万的都有
- 找人优化一次简历,差不多 100 - 600 元
- 买一本技术书,厚一点的,基本五六十左右
而星球里 150 万字项目教程 + 4789张讲解图 + 1v1 答疑 + 简历优化 + 4 个项目 + 持续更新,领券后只要 74 元。
不割韭菜,一次付费,所有项目都能学习。
⚠️ 注意:价格会随着内容的增多,逐步进行上调,现在是最便宜的时候。早加入 = 少花钱 + 多学内容。
星主承诺
- 图文讲解保证看得懂、敲得出;卡住了 1v1 帮你解决
- 项目真实可演示,不是 PPT 项目
- 星球 + 微信双重答疑,不让任何人掉队
- 3 天无理由全额退款,先看质量再决定,无套路
适合谁加入?
- 在校大学生 / 应届生:简历上没有拿得出手的项目,面试官一问项目就心虚
- 工作 1-3 年的 Java 开发:在公司写的都是 CRUD 代码,想跳槽但没有亮点项目
- 想转 Java 方向:学了基础但缺乏实战经验,需要从 0 到 1 的完整项目指导
- 想学微服务 / 高并发 / AI:微服务、高并发、AI 都是趋势,掌握就是面试竞争力
几个你可能关心的问题
-
知识星球是什么?
微信生态里的一款付费社群工具,可以理解为博主个人创建的 "高质量的学习小圈子" 。我会在里面发项目实战专栏、回答问题、分享资料,你可以评论互动,也可以单独提问。支持手机 APP、微信小程序、电脑网页三种方式使用。
-
一年到期后,项目还能看吗?
能。到期后,过期日之前的全部内容依然保留阅读权限。续费也有老成员的 5.5 专属折扣,续费只是续新项目和小哈的服务,续不续完全看个人自愿。
怎么加入?
微信扫下方二维码,领券加入:
最后说几句
技术学了,八股文背了,算法也刷了,但就是过不了面试官的 "项目" 这一关。因为面试官要的不是你 "知道什么",而是你 "做过什么"。
星球里的项目,每一个都是从 0 到 1 手把手带你做,保姆级图文教学,跟着敲就行。做完之后你会有 实实在在的项目经验,而不是只停留在 "我看过" 的层面。
现在 74 元是最低价,后续只会涨不会降。可以先去 quanxiaoha.com/column 看看项目演示,和试读小节部分,确认质量没问题,再扫码领券加入。另外,3 天内不满意随时全额退款,没有任何风险哈~
