早,很高兴认识非常努力的您!
项目简介
MoguBlog,一款基于微服务技术栈构建的前后端分离博客平台。前端界面采用Vue搭配ElementUI为Web端打造流畅体验,而移动端则利用uniapp结合ColorUI实现响应式设计。后端体系建立在SpringCloud、SpringBoot以及Mybatis-plus之上,确保了服务的高效与稳定。安全方面,Jwt与SpringSecurity联手打造了严密的登录认证与权限控制体系。搜索功能则依托ElasticSearch和Solr两大引擎,实现快速全文检索。代码的持续集成通过Github Actions自动执行,确保开发流程无缝衔接。日志管理则集成ElasticStack,实现系统日志的高效收集与分析。在文件存储策略上,MoguBlog灵活支持本地存储、七牛云及Minio,为用户提供了多样化的文件托管选择。
项目特点
实现前后端分离,通过 Json 进行数据交互,前端再也不用关注后端技术
页面交互使用 Vue2.x,极大的提高了开发效率。
引入Swagger 文档支持,方便编写 API 接口文档。
引入RabbitMQ 消息队列,用于邮件发送、更新 Redis 和 Solr
引入JustAuth 第三方登录开源库,支持 Gitee、Github 账号登录。
引入ElasticSearch 和 Solr 作为全文检索服务,并支持可插拔配置
引入Github Actions 工作流,完成蘑菇博客的持续集成、持续部署。
引入七牛云对象存储,同时支持本地文件存储
引入 RBAC 权限管理设计,灵活的权限控制,按钮级别的细粒度权限控制,满足绝大部分的权限需求
引入 Zipkin 链路追踪,聚合各业务系统调用延迟数据,可以一眼看出延迟高的服务
采用自定义参数校验注解,轻松实现后端参数校验
采用 AOP + 自定义注解 + Redis 实现限制IP接口访问次数
采用自研的评论模块,实现评论邮件通知
采用 Nacos 作为服务发现和配置中心,轻松完成项目的配置的维护
采用 Sentinel 流量控制框架,通过配置再也不怕网站被爆破
采用uniapp 和ColorUi 完成蘑菇博客的移动端门户页面搭建
支持多种文本编辑器,Markdown 编辑器(Vditor)和富文本编辑器(CKEditor)随心切换
采用 ElasticStack【ElasticSearch + Beats + Kibana + Logstash】
采用 Docker Compose 完成容器编排,Portainer 实现容器可视化,支持一键部署线上环境
技术选型
系统架构图
项目目录
MoguBlog 是一款基于最新技术开发的多人在线、简洁的博客系统。
mogu_admin: 提供admin端API接口服务;
mogu_web:提供web端API接口服务;
mogu_eureka:服务发现和注册【注: Nacos分支没有该目录,用Nacos作为服务发现组件】
mogu_picture:图片服务,用于图片上传和下载;
mogu_sms:消息服务,用于更新ElasticSearch、Solr索引、邮件和短信发送
mogu_monitor:监控服务,集成SpringBootAdmin用于管理和监控SpringBoot应用程序
mogu_spider:爬虫服务(目前还未完善)
mogu_gateway:网关服务(目前还未完善)
mogu_zipkin:链路追踪服务,目前使用java -jar的方式启动
mogu_search:搜索服务,ElasticSearch和Solr作为全文检索工具,支持可插拔配置,默认使用SQL搜索
mogu_commons:公共模块,主要用于存放Entity实体类、Feign远程调用接口、以及公共config配置
mogu_utils: 是常用工具类;
mogu_xo: 是存放 VO、Service,Dao层的
mogu_base: 是一些Base基类
doc: 是蘑菇博客的一些文档和数据库文件
vue_mogu_admin:VUE的后台管理页面
vue_mogu_web:VUE的门户网站
uniapp_mogu_web:基于uniapp 和 colorUi 的蘑菇博客移动端门户页面(Nacos分支)
nuxt_mogu_web:Nuxt的门户网站,主要用于支持SEO搜索引擎优化
产品截图
源代码下载地址
https://gitee.com/moxi159753/mogu_blog_v2.git
看到最后,如果这个项目对你有用,一定要给我点个“在看和赞”。