一、Feign的应用
和前面的Feign笔记是一样的,不过这里更深刻的理解一下
使用Feign的整体步骤就分为以下几个步骤:
1、引入open-feign依赖坐标
2、编写一个接口,告诉springCloud这个接口需要调用远程服务
3、在启动类当中开启远程调用功能注解
4、自动装配接口,调用功能方法
具体步骤演示如下所示:
假定现在有两个微服务,一个是gulimall-coupon服务、一个是gulimall-member服务,现在的需求是:
gulimall-member服务向gulimall-coupon服务发送远程服务调用,简单的理解就是说gulimall-member服务模块想要调用到gulimall-coupon服务模块中的某个功能
第一步:引入open-feign依赖坐标
比如说A服务远程调用B服务,那么就在A服务的pom依赖坐标下导入open-feign依赖坐标,我们这里是gulimall-member服务远程调用gulimall-coupon服务,因此就需要在gulimall-member服务中导入依赖坐标
第二步:编写一个Fegin接口
假定gulimall-member服务想要远程调用的就是gulimall-coupon服务中的下面这个功能:
确定好gulimall-member服务想要远程调用的某个服务的某个功能之后,那么就可以在gulimall-member服务当中编写Feign接口了:
第三步:在启动类当中开启远程调用功能注解
A服务远程调用B服务的话,就在A服务启动类上加上@EnableFeignClients注解即可。
第四步:测试
二、Nacos配置中心 - 命名空间
在实际的开发过程中,我们肯定不会只用这一个public为名的空间来放置配置文件,毕竟简单的来说,一旦微服务的配置文件过多之后如果都放入在这一个public为名的空间中的话,那么就会非常的混乱。
2.1、使用不同命名空间场景1
并且我们项目上线的过程中,肯定也要经过开发、测试、生产、上线等一系列的操作,那么我们肯定就需要多个命名空间来存放配置文件了,毕竟我们测试的时候使用到的配置文件命令空间总不能和开发、上线时候用的命名空间是同一个吧,那不就完犊子了吗,太乱了。
因此我们就可以创建出多个不同环境的命名空间,然后用来存放配置文件
创建不同环境的命名空间操作过程:
通过上面的方式创建出多个环境空间之后:
此时的话,比如我们点击dev进入到开发环境,我们知道我们这个dev开发环境是刚刚新创建的,所以还没有添加一些配置文件,那么现在的话我们就可以把开发中所用到的一些配置文件创建到dev开发环境空间当中了(创建的过程和在public环境下一样,点击加号,然后创建配置文件即可):
nacos配置中心中dev开发环境中有了配置文件之后,我们该如何在微服务中获取到开发环境中的配置文件数据呢:
其他的几个不同的环境空间的使用方式和上面相同,这里就不再演示了~
2.2、使用不同命名空间场景2
我们也可以每个微服务使用一个不同的命名空间,这样就会更加的清晰,比如我们gulimall-coupon服务,给他也搞一个命名空间,这样的话这个服务使用到的nacos配置中心的配置文件就放入到该服务对应的命名空间中去,以后用的时候就直接去这个命名空间中找想用的配置文件就可以了。
使用的操作过程和上面一样,也是新创建好命名空间后,然后在服务的bootstrap配置文件中添加一个namespace属性 配置上对应的命名空间id即可,其他的操作都一样。
三、Nacos配置中心 - 配置分组
我们现在比如说在dev空间下再创建一个gulimall-coupon.properties为名的配置文件(不再是上面的组):
现在有个问题就是:我们该如何获取到1111组下的该配置文件数据信息呢:
注意:如果在bootstrap配置文件中,不加这个group指定组名的话,就会默认指定DEFAULT_GROUP为名的组名,那么就会获取到的是DEFAULT_GROUP为组名的配置文件中的数据信息,不再是1111为组名的配置文件中的数据信息
同理如果想获取默认情况下的组中的配置文件中的数据的话,只需要把那个组名换成默认的那个组名即可。