4K QPS 博客社区:CCBlog 全栈开源,Springboot项目实战,Docker一键部署

引入

学习java有一段时间了,但是总感觉看着视频写代码少了点意思,更喜欢自己创作的感觉,于是阅读了一些开源代码项目,最终确定下来写一个博客社区网站。

本来想的是简单试试水,但是真正写起来遇到问题很多,随着功能逐渐完善,就想着干脆写一个成熟一点的项目,于是引入了很多中间件来优化性能,项目的缓存结构是最复杂的部分,经历了多轮重构。

由于对很多后端和前端技术也是边学变改,因此项目总耗时较长,一共约600h,这个过程中把很多会踩的坑都踩了一遍。

该项目作为高并发和性能优化的学习入门应该是没有问题的,还请大佬轻喷🙏🙏🙏

项目简介

本项目是一个博客社区项目,采用前后端分离架构 开发,基本实现博客所有相关的功能,该项目也可作为内容社区 的模板。项目包括五大模块分别是用户、文章、评论、通知、聊天模块后端所有核心模块均为独立自主开发 ,项目注释完整(个人代码习惯不是AI生成所以注释多),非常适合学习交流和二次开发。

功能实现

  • 无限层级评论树,无限叠楼
  • 通知点击跳转评论,自动置顶评论并展开到目标
  • 用户聊天WebSocket 实时聊天,支持聊天框预览 ,支持删除撤回
  • AI 大模型接口 接入,目前支持Qwen3,AI回答SSE流式渲染
  • Docker 一键部署,三行代码运行

项目亮点

  • 双层缓存架构:Redis + Caffeine
  • 批量聚合:Disruptor + Redis
  • 异步批量落库:Redis + RabbitMQ + Mysql
  • 批操作优化:Lua+Pipeline批量操作Redis、Mysql批量读写

项目已在10000篇文章,1000用户,每篇文章Payload约为1.5KB的环境下使用Jmeter 对文章详情接口实测, 在500并发的测试环境下取得了4000QPS,0 错误 的成绩。

下图为项目的整体结构

项目展示

项目整体采用活泼可爱的界面和交互,操作体验好。


搜索简易实现


用户主页


通知跳转评论置顶渲染


实时聊天实时预览渲染,支持删除撤回(使用两个浏览器同时发送得到)


大模型对话,后续会更新加入更多模型。

技术栈

核心技术栈:

  • 前端:Vue3 + Vite + TypeScript

  • 后端:Spring Boot 3.x + MyBatis

  • 缓存:整体 Redis 7 + Caffeine 双层缓存,ConcurrentMap 辅助

  • 性能优化:Disruptor + Lua

  • 消息队列:RabbitMQ 3.12

  • 数据库:MySQL 8.0

  • 测试:Jmeter

  • 部署:Docker + Nginx

这些技术都是在遇到问题后查阅资料并深思熟虑后引入的技术,经过了类似技术的横向对比,而非技术栈的简单堆砌

项目地址

项目目前已经全部开源,包括前端代码、后端代码和Docker运行代码,下面是仓库地址:

GithubCCBlog-Github

GiteeCCBlog-Gitee

一键部署

注意 :运行前请先确保 Docker 功能正常,Win 下安装和打开 Docker DesktopLinux 下配置好 Docker就可以,可使用 docker version 确认。

bash 复制代码
git clone https://github.com/C2Z666/ccblog.git
cd ccblog/ccblog-docker
docker compose up

看到 server started 后到浏览器输入 localhost:8080 即可访问,默认用户包括czc、lcx、rk、ywl、ccblog,密码都是123,可以登录测试哦。图片上传和大模型聊天需要额外配置才可用。

如果项目对您有帮助,给项目点一个Star⭐吧!😊😊😊感谢支持!🙏🙏🙏

后续计划

个人精力时间有限,项目目前还未全部重构完毕,并且还有功能未加入。部署到云服务器正在筹备,在申请域名备案中。

最后,开发的涉及面太广太多,本人技术有限,不可能考虑到面面俱到。欢迎大家测试并提出问题,提出心愿功能,欢迎对开发感兴趣的道友合作开发,一起学习交流,同时欢迎大佬指导架构,作者虚心求教!😊😊😊

本人联系方式:

QQ:1839156312

后续我会整理开发过程中记录的文档,发布一系列关于技术实现(评论展开、异步落库、批量聚合、实时聊天系统、AI大模型接入等)、Jmeter测试、踩坑记录、性能优化、docker使用的教程和记录,欢迎持续关注!

相关推荐
Msshu12311 小时前
Type-C 多协议快充诱骗电压芯片XSP28 芯片脚耐压高达21V 电路简单 性价比高
mongodb·zookeeper·rabbitmq·flume·memcache
想摆烂的不会研究的研究生11 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
毕设源码-郭学长12 小时前
【开题答辩全过程】以 基于SpringBoot技术的美妆销售系统为例,包含答辩的问题和答案
java·spring boot·后端
N***H48612 小时前
springcloud springboot nacos版本对应
spring boot·spring·spring cloud
Java 码农12 小时前
RabbitMQ集群部署方案及配置指南03
java·python·rabbitmq
S***q37713 小时前
Spring Boot管理用户数据
java·spring boot·后端
BD_Marathon13 小时前
SpringBoot——辅助功能之切换web服务器
服务器·前端·spring boot
毕设源码-郭学长13 小时前
【开题答辩全过程】以 基于SpringBoot框架的民俗文化交流与交易平台的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
@LetsTGBot搜索引擎机器人13 小时前
2025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)
数据库·搜索引擎·机器人·开源·全文检索·facebook·twitter
l***217813 小时前
SpringBoot Maven快速上手
spring boot·后端·maven