项目简介
今天给大家分享一款基于微服务架构的前后端分离博客系统——蘑菇博客(MoguBlog),点击扩展链接查看下载地址。Web端使用Vue Element , 移动端使用uniapp和ColorUI。后端使用Spring cloud Spring boot mybatis-plus进行开发,使用 Jwt Spring Security做登录验证和权限校验,使用ElasticSearch和Solr作为全文检索服务,使用Github Actions完成博客的持续集成,使用ELK收集博客日志,文件支持上传七牛云和Minio.
项目后台目前有Eureka版本和Nacos版本,其中Eureka版本使用的是SpringCloud一些组件,Nacos版本使用的是SpringCloudAlibaba的一些组件,例如Nacos、Sentinel
Eureka版本请切换至Eureka分支(将不再进行新功能的开发)
Nacos版本请切换至Nacos分支(作为以后长期维护的分支)
master分支为主分支,是基于Nacos分支的稳定版本
目前移动端版本的代码已经开源至Nacos分支,如果想体验的小伙伴可以移动至Nacos分支~
项目技术
微服务 前后端分离
运行环境
蘑菇博客使用了一些监控的Spring Cloud组件,但是并不一定都需要部署,必须启动的服务包含
nacos,nginx,rabbitmq, redis,mysql,mogu-sms,mogu-picture, mogu-web, mogu-admin
其它的服务都可以不启动,也不影正常使用,可以根据自身服务器配置来启动
最低配置:1核2G 需要开启虚拟内存
项目特点
友好的代码结构及注释,便于阅读及二次开发
实现前后端分离,通过Json进行数据交互,前端再也不用关注后端技术
页面交互使用Vue2.x,极大的提高了开发效率。
引入swagger文档支持,方便编写API接口文档。
引入RabbitMQ 消息队列,用于邮件发送、更新Redis和Solr
引入JustAuth第三方登录开源库,支持Gitee、Github账号登录。
引入ElasticSearch 和 Sol r作为全文检索服务,并支持可插拔配置
引入Github Actions工作流,完成蘑菇博客的持续集成、持续部署。
引入七牛云对象存储,同时支持本地文件存储
引入RBAC权限管理设计,灵活的权限控制,按钮级别的细粒度权限控制,满足绝大部分的权限需求
引入Zipkin链路追踪,聚合各业务系统调用延迟数据,可以一眼看出延迟高的服务
采用自定义参数校验注解,轻松实现后端参数校验
采用AOP 自定义注解 Redis实现限制IP接口访问次数
采用自研的评论模块,实现评论邮件通知
采用Nacos作为服务发现和配置中心,轻松完成项目的配置的维护
采用Sentinel流量控制框架,通过配置再也不怕网站被爆破
采用uniapp 和ColorUi 完成蘑菇博客的移动端门户页面搭建
支持多种文本编辑器,Markdown编辑器(Vditor)和富文本编辑器(CKEditor)随心切换
采用ElasticStack【ElasticSearch Beats Kibana Logstash】
运行截图
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。导航:艺宵博客 » 蘑菇博客(MoguBlog)–一款开源微服务前后端分离博客平台