- 各个解决方案对比
- idea项目创建
- Nacos注册中心
- 注册中心演变过程
- 组件
- nacos 界面介绍
- nacos配置中心
- 网关gateway
- 断言
- ruoyi-cloud
Nacos注册中心 注册中心演变过程
- 使用Spring Initializr方式创建创建主项目
只会打包maven项目不会打包pom项目
- 使用Maven方式创建创建各个子项目(可以自动选择继承的父maven项目)
导入依赖的时候,子项目中不需要写版本,全部继承自父项目- 开启功能
Run/Debug Configurations > Templates > Run Dashboard > +
- 修改依赖版本
- 主项目添加dependencyManagement标签
dependencyManagement标签下的依赖包,需要子项目显式指定对应依赖,才会引用该依赖。如果写在dependencyManagement标签外的dependencies中,子项目会自动导入这些依赖。
组件
- 通过nginx进行负载均衡。但是发现错误的服务比较困难
- 注册中心,mysql存储每个服务的状态。
- 注册中心引入心跳机制。判断服务是否正常。并且利用客户端的负载均衡均衡调用服务。
核心功能
nacos安装nacos客户端
- 添加依赖
- 配置文件中添加服务名称端口号及nacos地址
- 启动注解可加可不加
- 客户端使用template调用
nacos 界面介绍
验证是否正常注册到nacos中
服务调用的负载均衡(添加负载均衡器)
在restTemplate中添加@LoadBanlanced注解服务调用
nacos配置中心名称空间
为了隔离各个项目,或者隔离生产环境与测试环境的配置。
保护阈值和分组
权重
结合负载均衡器权重机制使用
网关gateway一般情况下,名称空间用于定义运行环境,Group用于定义项目,Data ID用于定义服务。
历史保存回滚
Nacos客户端
- 客户端中添加依赖
- 添加项目启动代码及配置文件
- 配置nacos地址在bootstrap.yml中(系统级配置)
如果nacos启动权限功能,那么必须加上用户名和密码- 从nacos中获取配置信息
断言
- 导入依赖
- 配置application.yml文件
使用 predicates 进行匹配
经过filters项之后 进行转发
- 整合nacos
- 继承nacos简写方式,使用服务名作为前缀
ruoyi-cloud
- 内置断言工厂
时间相关(带区域的时间格式)
Before: 必须在时间之前
After: 必须在时间之后
Between: 在某个时间之间
Cookie: cookie中必须有某个键,且对应某个值。值支持某个正则相
Header: 根据请求头中的参数进行匹配
Host: 支持通配符 *
Path: 支持通配符*及占位符{}
Query:
RemoteAddr: ip
Weight: 根据权重来匹配
新增一个服务
- 在ruoyi-modules中添加一个maven项目
- 仿照其他模块服务修改依赖
- 按照服务名称在nacos中新增一个config文件
- 启动代码生成服务
- 在代码生成菜单中,新导入一个表
生成包路径,模块名称,上级菜单修改一下。
生成的是某个服务的某个模块- 将模块复制到指定服务中,将sql语句执行一下,添加相关的权限。
- 在rouyi-modules中的maven中添加新增的服务
- 复制前端代码到项目中,前端项目添加新增包的路由信息
- 项目打包
运行 bin/package.sh 对所有项目打包



