文章目录
- SpringCloud
- 前言
- 版本选择
- Nacos
- Feign
- 配置中心
- NameSpace
- Group
- 加载多配置集
- 总结
- GateWay网关
SpringCloud
更多SpringCloud相关内容关注我这篇文章,这篇文章只做基本的整合没有概念!
前言
Github地址:https:///YuyanCai/mall-study
版本选择
不用和老师讲的一模一样,按照官网对照版本即可!


这里要注意的是其他模块也要改springboot的版本,都为2.3.2.rekease
Nacos
1、启动Nacos

2、将微服务注册到 nacos 中
mall-ommon模块进行引入
这样所有的引入common模块的其他模块就都有这个服务发现了,接下来还需要两步
- 在需要将微服务加到注册中心的启动类上加注解@EnableDiscoveryClient
- 改模块配置文件
3、测试


Feign
它的目的就是让远程调用更加简单,Feign提供了HTTP请求的模板。通过写接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息
例如:想要获取当前会员领取到的所有优惠券。先去注册中心找优惠券服务, 注册中心调一台优惠券服务器给会员,会员服务器发送请求给这台优惠券服务器,然后对方响应。
下面我们看它是怎么用的:
1、引入open-feign
前期建模块的时候我们已经引入过了
2、在调用方的主函数头上标注注解打开远程调用,并指定远程调用接口的位置
3、编写远程调用接口
- 通过@FeignClient(“mall-coupon”)指定远程调用哪个微服务
- 方法为要调用微服务功能的的签名部分(路径要写全)
那么当我们调用这个接口的方法时,他就会去注册中心中找远程服务mall-coupon所在位置,最后调用/coupon/coupon/member/list这个请求对应的方法
4、测试
被调用方:为优惠卷微服务新添加一个功能,这个功能就是访问这个请求时会返回优惠卷的信息以List的形式

调用方:注入服务,写一个请求来获取用户信息和优惠卷信息

结果如下:

配置中心
配置中心就是把配置文件写在Nacos中,当你修改配置中心内容时项目不需要重启项目即可根据配置文件实现实时更新
官方文档演示:
过程如下:

1、引入依赖
common模块
2、创建bootstrap.properties
所有配置文件中优先级最高
服务启动后会先读取这个文件,读取后就会去从nacos配置中心加载mall-coupon.properties文件
3、配置中心定义新配置文件
其中,DataID必须为微服务名.properties
配置的内容什么都可以

4、测试
- 在Controller加上
@RefreshScope来动态获取配置数据


配置中心修改配置再刷新

NameSpace
命名空间就是用来隔离资源的
什么情况下会用到呢?
你生产环境想用这一套配置,开发环境想用另一套配置。那么就可以把配置文件放到不同的命名空间中
1、新建命名空间

配置文件

2、bootstrap.properties指定命名空间
微服务启动的时候会先去bootstrap.properties加载,然后根据配置去Nacos配置中心找到文件

3、测试
这个配置就是我prop命名空间定义的配置文件

Group
一般Group和Namespace配合使用
解决方案为:每个微服务创建自己的命名空间,使用配置分组区分环境
分组在创建配置文件的时候直接进行创建即可
1、创建微服务NameSpace并创建分组

2、bootstrap.properties指定分组
3、测试

加载多配置集
配置相关的如果都放到一个配置文件中会很乱难维护
所以把配置文件进行拆分,spring相关的放spring配置文件,mybatis相关的放mybatis配置文件…
Nacos也可以做到
1、抽取出多个配置文件

其他配置文件同理

2、bootstrap.properties指定加载多配置集
这里的spring.cloud.nacos.config.extension-configs[0].data-id意思就是说,集合里的元素是一个个数组,数组里有是一个个对象所以第一个元素可以赋值多次
下面配置也是同理
3、测试
我们注释掉所有本地的yml配置并重启


总结
微服务任何配置信息,任何配置文件都可以放在配置中心中
线上环境的时候我们可以把所有配置都放在配置中心,微服务中只保留一个bootstrap.properties文件说明加载配置中心哪些配置文件即可
GateWay网关

















