Gateway和Nacos配置中心文件项目整合案例
树图思维导图提供 SpringCloud配置中心脑图 在线思维导图免费制作,点击“编辑”按钮,可对 SpringCloud配置中心脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:c344ca2782f8614f0207bd79ab63c1f9
SpringCloud03 -Gateway-Nacos配置中心思维导图模板大纲
使用Spring Cloud实现微服务的架构基本成型
通过SpiingCloud NetFilx中的Eureka实现了 服务注册中心, 服务注册与发现功能
通过Feign实现服务的消费,以及负载均衡
为了使服务集群更加健壮,解决为服务器雪崩的问题,使用Hystrix的熔断机制来避免在微服务架构中出现故障蔓延
我们的微服务集群包含:内部服务ServiceA,ServiceB,他们都会注册于订阅服务EurekaServer 而Open Service是一个对外的服务,通过负载均衡,公开服务调用方
因为使用户直接访问我们后端的service,可能会暴露后端服务地址,项目,真实路径,使用网关可以解决这个问题
网关可以解决的问题
客户端多次请求不同的微服务,增加客户端的复杂性
无法直接复用既有请求接口。
如果我们要对服务增加权限操作,需要对每一个微服务服务提供,增加,而使用网关,只需要在网关实现权限控制即可
http请求不同服务次数增加,性能不高
网关旨在,微服务架构提供一种简单有效的统一API路由管理方式
网关就是系统的入口
封装了应用系统的内部结构,
一些与业务本身功能无关的 公共逻辑可以在这里实现
认证,鉴权,监控,缓存,负载均衡,流量管控,路由转发
在目前的网关解决方案中有 Nginx lua, netflix zuul spring cloud gateway
SpringCloud Gateway是 Springcloud的一个权限项目
在为微服务架构提供一种简单有效的统一的API路由管理方式
基于WebFlux框架实现
WebFlux框架底层使用了 高性能Reactor模式通信框架 Netty
SpringCloudGateway目标
提供统一的路由方式
基于Filter链的方式提供网关的基本功能
安全
监控/指标
限流
Spring Cloud Gateway 底层使用了高性能的通信框架 Netty。
创建一个springboot-parent父工程,删除src目录
修改pom文件,引入子工程所需要的公共依赖, 和版本管理dependencyManagement
创建一个子工程provider
pom文件修改
编写provider的bootstrap.yml , 来来连接远端nacos的配置文件
编写providerd的controller
@RefreshScope 动态更新远程配置文件
ProviderProperties用于controller属性注入,将其放入ioc容器中
创建一个子工程gateway网关
修改其pom文件
编写application.yml配置文件
编写网关的全局过滤类MyFilter 实现 GlobaFilter, Ordered接口
创建一个consumer子项目
修改其pom配置文件
编写yml配置文件
编写Feign虚拟客provider客户端
编写controller
启动类
在Nacos远端服务注册中心配置,远程配置provider的 -配置文件
树图思维导图提供 种子思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 种子思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:86f8307a40ea24607c6c79354e09377f
树图思维导图提供 低效和超龄导购员的管理计划 在线思维导图免费制作,点击“编辑”按钮,可对 低效和超龄导购员的管理计划 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:f7df47e61db6c5c13a363faab8770506