# 若兮微服务博客项目 **Repository Path**: yao_xian666/ruoxi-blog ## Basic Information - **Project Name**: 若兮微服务博客项目 - **Description**: 一个基于微服务架构的前后端分离博客系统 前端技术栈 : Vue. js + ElementUi + Vuetify 后端技术栈 : SpringBoot + SpringCloudAlibaba - **Primary Language**: Java - **License**: CC-BY-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 43 - **Forks**: 11 - **Created**: 2020-11-28 - **Last Updated**: 2025-07-23 ## Categories & Tags **Categories**: blog **Tags**: None ## README # 若兮微服务博客项目(下载动动你的小手点颗小星星,蟹蟹) #### 项目介绍 ##### 一个基于微服务架构的前后端分离博客系统 ##### 一个专注于分享技术和生活的个人博客平台 #### 作者介绍 ##### 在校大学生 | Java疯子也 | 2022届毕业生 #### 作者声明 ##### 项目目前处于开发中,项目为本人学习途中开发,诸多不足,作为学生学习还是很值得的,每天将会提交更新代码,作者也处于学习中,欢迎大佬指导和建议,由于本人是学生,经费有限,服务器数量不够,无法将项目完整部署,所以项目暂时无法上线,以及目前没有提供SQL文件,见谅,后期将会补充 #### 联系作者 ##### QQ: 2625697531 Email: ruoqing.love@gmail Wechat: ww17320525380 #### 安装环境准备 ###### Vue.js(包括脚手架等一系列工具) + Node.js(v12.16.1) ###### **_JDK1.8 + Maven + MYSQL5.7(注意一定要是5.7,兼容Nacos) + Nacos_**(没有这些环境,项目启动会直接报错) + Sentinel + Redis + RocketMQ + Seata #### 项目结构 ##### ruoxi-admin : 若兮后台管理中心 ##### ruoxi-api : 若兮系统微服务 ##### ruoxi-auth : 若兮认证授权中心 ##### ruoxi-common : 若兮系统通用模块 ##### ruoxi-gateway : 若兮微服务网关 ##### ruoxi-log : 若兮日志收集中心 ##### ruoxi-test : 若兮系统测试模块 ##### ruoxi-ui-admin : 若兮后台管理系统H5端UI ##### ruoxi-ui-web : 若兮博客H5端UI #### 介绍 ##### 前端技术栈 : Vue.js + ElementUi + Vuetify ##### 后端技术栈 : SpringBoot + SpringCloudAlibaba + MyBatisPlus ##### 数据源 : MySQL + Redis + RocketMQ ##### [项目介绍](http://8.136.141.162/access/index.html) : http://8.136.141.162/access/index.html ##### [项目地址](http://www.ruoqing.love) : www.ruoqing.love #### 软件架构 若兮博客项目采用当今互联网最流行的微服务架构,项目应用SpringCloudAlibaba新一代微服务解决方案, 集成 微服务注册中心SpringCloudAlibaba Nacos(高可用集群部署),RPC远程调用框架SpringCloud OpenFeign, 分布式配置中心SpringCloudAlibaba Nacos(高可用集群部署),新一代微服务网关SpringCloudAlibaba GateWay (高可用集群部署),服务保护框架(服务降级、服务熔断、服务隔离)SpringCloudAlibaba Sentinel, 认证授权框架SpringCloud Security Oauth2.0,分布式任务调度平台XXL-JOB,分布式链路追踪系统Sleuth+ZipKin, 客户端负载均衡器Ribbon,服务器端负载均衡器Nginx。 #### 中间件技术篇 1. 分布式消息队列中间件RocketMQ 2. 分布式事务中间件Seata #### 系统设计 1. 消息队列 : 流量削峰、异步解耦,基于RocketMQ分布式消息队列,上游服务执行完相关业务,将消息推送到消息队列,下游服务主动订阅消息执行业务操作,例如通知服务执行邮件、短信相关通知的发送 2. 分布式缓存 : 基于Redis实现微服务中分布式缓存,长期读操作的数据写入缓存,减轻MySQL压力 3. 分布式系统的流量防卫兵 : 抗住双11瞬时流量,阿里巴巴前哨Sentinel 3.1. 服务限流 : 10QPS/S, 微服务每个接口在1秒钟内只会接收10个网络请求,超过10个网络请求后访问提示接口被限流,前端提示友好页面,例如:您的点击过于频繁,服务器已处在宕机的边缘...... 3.2. 服务降级 + 服务熔断 : 微服务每个接口每5个网络请求平均响应时间大于10秒, 触发服务熔断机制,走服务降级策略,降级后的10秒钟内,该接口会处于不可访问状态,提示该服务接口已经触发降级策略,前端提示友好页面,例如 : 服务器忙,请稍后重试! 4. 基于阿里云 CDN + OSS资源动静分离架构,大大提升用户访问和响应速度。 #### 云服务技术选型 1. 阿里云OSS云对象存储 : 图片、歌曲、视频等静态资源存储到云端, 每次加载页面从云端下载静态资源,减少服务器压力。 2. 阿里云CDN内容分发网络 : 选择就近的加速站点,提高用户访问响应速度和命中率。 3. 阿里云SMS全球短信服务 : 通知服务调用SMS技术发送短信。 #### 第三方系统接入 1.腾讯QQ互联 : 接入腾讯开发平台的QQ互联,实现第三方联合登录,通过QQ登录若兮微服务。 #### 统一认证与授权 1 基于SpringSecurity实现Oauth2.0协议, 实现分布式系统的统一认证和授权 1.1. 微服务信任的客户端, 本项目中代表的是前端,采用Oauth2.0中的密码模式, 通过用户名密码登录系统 1.2. 微服务不信任的客户端, 例如QQ互联腾讯第三方客户端, 通过授权码模式登录系统 https://doocs.gitee.io/#/ 完善中..... 2021.1.16 12:38 若兮开发团队! [若兮微服务系统架构图(点击查看)](https://images.gitee.com/uploads/images/2021/0604/162554_f69289fb_7408950.png "若兮微服务架构图.png")>