当微服务上线后,需要注册到注册中心中,当某个微服务需要调用其他微服务说,就可以到注册中心中查找是否有相关的微服务,进而远程调用。
配置中心用于几种管理微服务配置。
springcloud alibaba的应用
使用nacos作为注册中心将各个服务注册到注册中心
测试远程调用
实例:通过会员查找某会员有什么优惠券,会员服务通过注册中心查找优惠券服务在哪一个机器上,注册中心返回优惠券服务器,优惠券服务器与会员服务器交互,得到想要的信息。
使用springcloud中的feign实现声明式远程调用
1、配置open-feign, * 2、实现一个远程调用的接口 * 3、声明接口的每一个方法都是调用哪个远程服务的请求 * 4、开启远程调用功能,使用test实例化接口,然后创建一个新的membernickname来接收这个实传过来的优惠券名称 * 5、访问http://localhost:8000/member/member/coupons获知该优惠券的情况
使用nacos作为配置中心
导入依赖,修改bootstrap.properties中的应用名以及连接的地址,然后在配置文件进行配置即可
后面也可以在nacos上的配置中心进行在线配置修改,实现动态配置,不用重新打包再上线微服务,如果配置中心有的,会优先使用配置中心的配置再使用bootstrap.properties上的配置
nacos作为配置中心的细节:
命名空间:进行配置隔离
默认public(保留空间),默认新增的配置文件都再publlic空间里面。 在bootstrap.properties里面可以配置(要使用命名空间的唯一ID,不可以直接使用命名空间的名称),①可以利用命名空间来完成生产、上线等的环境隔离。②可以给每一个微服务都配置一个命名空间
配置集: 所有的配置的集合称为配置集
配置集ID:就是配置文件ID
配置分组:默认所有的配置集都属于DEFAULT_GROUP ,可以在bootstrap.properties里面进行配置。
总的来说,微服务通过命名空间进行服务间的隔离,通过group进行配置环境的切换
配置中同时加载多个配置集
微服务中任何的配置信息都可以放在配置中心中,只需要在bootstrap。properties中说明加载配置中心中的哪些配置文件即可;@value,@ConfigurationProperties等,以前SpringBoot任何方法从配置文件中获取值,都能使用,配置中心有的优先使用配置中心中的
api网关:
Gateway 网关:网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等,而springcloud gatewawy作为SpringCloud官方推出的第二代网关框架,替代了Zuul网关。
使用网关:1、添加网关模块,2、开启服务的注册发现(配置nacos的注册中心地址);3、配置yml以及properties文件,使网关在nacos上实现注册