本文介绍: 网关的角色是作为一个 API 架构用来保护、增强和控制对于 API 服务访问。API 网关是一个处于应用程序服务(提供 REST API 接口服务)之前的系统用来管理授权、访问控制流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统可以专注于创建管理服务,而不用去处理这些策略性的基础设施。API 网关负责请求路由、API组合协议转换。来自外部客户端

目录

API网关介绍 

gateway基本介绍

Nginx基本介绍

Nginx与API gateway网关


API网关介绍 

网关的角色是作为一个 API 架构用来保护、增强和控制对于 API 服务访问。API 网关是一个处于应用程序服务(提供 REST API 接口服务)之前的系统用来管理授权、访问控制流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专注于创建管理服务,而不用去处理这些策略性的基础设施。

API 网关负责请求路由、API组合协议转换。来自外部客户端的所有API请求首先会先转到API网关,后者再将请求路由到相应的服务。API网关使用API组合模式处理其他请求调用多个服务并聚合结果。同时他还可以客户端友好的协议(例如HTTP)与客户端不友好的协议之间进行转换

总结:网关就是所有项的一个统一入口。 

网关 = 路由转发 + 过滤器

路由转发:接收外界请求,通过网关的路由转发,转发到后端的服务上。

过滤器:分为Gateway FilIer和Global Filter。Filter可以请求响应进行处理。默认支持的过滤器有:AddRequestHeader请求头,AddRequestParameter请求参数、RequestRateLimiter限流、Hystrix熔断、Retry重试等20多种过滤器,也支持自定义过滤器

gateway基本介绍

Spring Cloud Gateway是一个基于Spring Framework 5,Spring Boot 2和Project Reactor等技术构建的网关服务器用于为微服务应用程序提供路由、负载均衡安全性、限流、降级等功能

SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行集成,仍然还是使用的Zuul 2.0之前的非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层使用了高性能的Reactor模式通信框架Netty

SpringCloudGateway : 微服务网关,事项微服务的统一路由,统一鉴权,跨域限流功能 

Nginx基本介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx并发能力在同类型网页服务器中表现较好。

Nginx相比其他Web服务器软件的优点如下:

  1. 高性能:Nginx采用异步、非阻塞的事件驱动模型可以支持高并发请求,并且消耗较少的系统资源
  2. 轻量级:Nginx的二进制文件很小,可以快速启动占用较少的内存
  3. 可靠性高:Nginx的代码设计为高可靠性的,可以在长时间运行中保持稳定性。
  4. 扩展性好:Nginx可以通过添加第三方模块编写自定义模块扩展功能
  5. 支持热部署:Nginx可以在不停止服务的情况下重新加载配置文件动态模块。

Nginx与API gateway网关

本质上API网关也是做了请求的转发,那既然Nginx也可以做请求转发,那这两者有什么区别?

在具体架构设计时Nginx做负载均衡时,考虑到API网关在系统中不止一个(以集群方式做高可用),通常可以将Nginx至于API网关前,负责对API网关的负载均衡然后再由网关决定进入根据判定到哪个真实的web 服务器。 让两者的分工更加明确,也就是:API网关聚合服务,Nginx请求转发 

业务网关(gateway):对于具体的后端业务应用或者是服务和业务有一定关联性的策略网关。业务网关针对具体的业务需要提供特定的流控策略缓存策略、鉴权认证策略

流量网关(Nginx):与业务网关相反,定义全局性的、跟具体的后端业务应用和服务完全无关的策略网关。流量网关通常只专注于全局的Api管理策略,比如全局流量监控日志记录全局限流、黑白名单控制、接入请求到业务系统的负载均衡

业务网关一般部署流量网关之后、业务系统之前,比流量网关更靠近业务系统。通常API网指的是业务网关。 有时候我们也会模糊流量网关和业务网关,让一个网关承担所有的工作,所以这两者之间并没有严格的界线。

nginx与gateway的区别:

Nginx在其中扮演的角色是什么?

SpringGateway在其中扮演的角色是什么?

原文地址:https://blog.csdn.net/m0_62436868/article/details/133921345

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_5933.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注