Spring Cloud Gateway网关的使用和Nacos下发路由配置实现Spring Cloud Gateway的动态路由
一、微服务网关概述
1.1 微服务网关诞生背景
不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:
-
客户端会多次请求不同的微服务,增加了客户端的复杂性
-
存在跨域请求,在一定场景下处理相对复杂
-
认证复杂,每个服务都需要独立认证
-
难以重构,随着项目的迭代,可能需要重新划分微服务。
例如,可能将多个服务合并成一个或者将一个服务拆分成多个。如果客户端直接与微服务通信,那么重构将会很难实施某些微服务可能使用了防火墙 / 浏览器不友好的协议,直接访问会有一定的困难
以上这些问题可以借助网关解决
1.2 微服务网关是什么?
又名:API网关
网关是介于客户端和服务器端之间的中间层,所有的外部请求都统一发到网关服务(base-gateway),网关再根据路由规则转发