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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。