项目介绍
蘑菇博客是一个基于微服务架构的前后端分离博客系统。Web端使用Vue + ElementUi,移动端使用uniapp和ColorUI。后端使用SpringCloud + SpringBoot + Mybatis-plus进行开发,采用Jwt + SpringSecurity进行登录验证和权限校验,使用ElasticSearch和Solr作为全文检索服务,利用Github Actions完成博客的持续集成,使用ELK收集博客日志,文件支持上传至七牛云和Minio,支持Docker Compose脚本一键部署。
应用场景
蘑菇博客适用于个人博客、技术分享、学习笔记记录等多种场景。其前后端分离的设计使得系统更加灵活,易于扩展和维护。同时,微服务架构使得各个服务可以独立部署和升级,提高了系统的可用性和可伸缩性。
功能模块
核心功能
-
博客管理: 博客的增删改查、分类管理、标签管理、推荐管理、链接管理。 -
用户管理: 用户注册、登录、权限管理、个人信息管理。 -
评论管理: 评论的增删改查、邮件通知、表情评论。 -
文件管理: 文件上传下载、七牛云存储、Minio存储。 -
搜索服务: 支持ElasticSearch和Solr全文检索,支持SQL搜索。 -
日志收集: 使用ELK搭建日志收集系统。
附加功能
-
第三方登录: 支持Gitee、Github账号登录。 -
消息通知: 邮件和短信发送。 -
监控服务: 集成SpringBootAdmin用于管理和监控SpringBoot应用程序。 -
链路追踪: 使用Zipkin聚合各业务系统调用延迟数据。
功能特点
-
前后端分离: 通过Json进行数据交互,前端无需关注后端技术。 -
友好的代码结构: 代码结构清晰,注释详细,便于阅读及二次开发。 -
页面交互高效: 使用Vue2.x极大提高了开发效率。 -
API文档支持: 引入Swagger文档支持,方便编写API接口文档。 -
消息队列: 引入RabbitMQ消息队列,用于邮件发送、更新Redis和Solr。 -
全文检索: 引入ElasticSearch和Solr作为全文检索服务,并支持可插拔配置。 -
持续集成: 引入Github Actions工作流,完成蘑菇博客的持续集成、持续部署。 -
权限管理: 引入RBAC权限管理设计,实现按钮级别的细粒度权限控制。 -
链路追踪: 采用Zipkin链路追踪,聚合各业务系统调用延迟数据。 -
参数校验: 采用自定义参数校验注解,轻松实现后端参数校验。 -
限制访问: 采用AOP + 自定义注解 + Redis实现限制IP接口访问次数。 -
评论模块: 自研评论模块,实现评论邮件通知。 -
服务发现: 采用Nacos作为服务发现和配置中心。 -
流量控制: 采用Sentinel流量控制框架,防止网站被爆破。 -
移动端支持: 使用uniapp和ColorUi完成蘑菇博客的移动端门户页面搭建。 -
文本编辑器: 支持Markdown编辑器(Vditor)和富文本编辑器(CKEditor)随心切换。 -
日志收集: 采用ElasticStack搭建蘑菇博客日志收集系统。 -
一键部署: 采用Docker Compose完成容器编排,支持一键部署线上环境。
项目技术栈
后端技术
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
前端技术
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
系统架构图

功能演示












开源地址
https://gitee.com/moxi159753/mogu_blog_v2

