SpringCloud网关Gateway架构解析

这篇文章主要介绍了SpringCloud网关Gateway架构解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过 网关这一层。也就是说,API 的实现方面更多的考虑业务逻辑,而安全、性能、监控可以交由 网关来做,这样既提高业务灵活性又不缺安全性,典型的架构图如图所示:

安全 ,只有网关系统对外进行暴露,微服务可以隐藏在内网,通过防火墙保护。

易于监控。可以在网关收集监控数据并将其推送到外部系统进行分析。

易于认证。可以在网关上进行认证,然后再将请求转发到后端的微服务,而无须在每个微服务中进行认证。

减少了客户端与各个微服务之间的交互次数

易于统一鉴权。

Application注解如下:

@EnableZuulProxy @SpringCloudApplication public class ZuulGatewayApplication { public static void main(String[] args) { SpringApplication.run(ZuulGatewayApplication.class,args); } }

yaml配置文件如下:

server: port: 9000 spring: application: name: ad-gateway eureka: client: service-url: defaultZone: http://server1:8000/eureka/ # 网关配置 zuul: prefix: /zmn # 统一前缀 routes: # 路由 path: /ad-sponsor/** # 前缀 serviceId: eureka-client-ad-sponsor # 转发的微服务名字 strip-prefix: false # 不跳过前缀 /ad-sponsor

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...