这些微服务网关你了解吗?

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 在微服务中,由于以业务划分会有很多个子模块。在面对外部系统的API调用时如果每个请求都直接到达对应的子模块接口,那么这样的请求会有很多个,尤其在业务庞杂的大型电商或支付系统中,对外和对内会形成无数个调用链路错综复杂。有时还要面对例如:鉴权、安全保护、限流控制等。因此,有一个统一用来管理和控制外部访问的API接口就会显得常重要。所有的外部请求都首先到达这个API接口,再经由这个接口API经过路由转发到达具体的某个业务系统。从而达到代理请求、统一管理控制的目的,这个API接口就叫API网关。

01前言



在微服务中,由于以业务划分会有很多个子模块。在面对外部系统的API调用时如果每个请求都直接到达对应的子模块接口,那么这样的请求会有很多个,尤其在业务庞杂的大型电商或支付系统中,对外和对内会形成无数个调用链路错综复杂。有时还要面对例如:鉴权、安全保护、限流控制等。因此,有一个统一用来管理和控制外部访问的API接口就会显得常重要。所有的外部请求都首先到达这个API接口,再经由这个接口API经过路由转发到达具体的某个业务系统。从而达到代理请求、统一管理控制的目的,这个API接口就叫API网关。


02网关简介


2.1 什么是网关


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


2.2 API网关的四大职能

  • 请求接入:
    作为所有API接口服务请求的接入点,管理所有的接入请求。
  • 业务聚合:
    作为所有后端业务服务的聚合点,所有的业务服务都可以在这里被调用。
  • 中介策略:
    实现安全、验证、路由、过滤、流控、缓存等策略,进行一些必要的中介处理。
  • 统一管理:提供配置管理工具,对所有API服务的调用生命周期和相应的中介策略进行统一管理。


2.3 API网关的关注点

API网关并不是一个典型的业务系统,而是一个为了让业务系统更专注于业务本身,给API服务提供更多附加能力的一个中间层。主要考虑许下几个目标:

  • 开发维护简单,节约人力成本和维护成本。
    即应选择成熟的简单可维护的技术体系。
  • 高性能,节约设备成本,提高系统吞吐能力。
    需要对API网关的特点进行一些特定的涉及和权衡。
  • 保持大规模的inbound请求接入能力(长短链接),比如基于Netty实现。
  • 最大限度地复用outbound的HTTP连接能力,比如基于httpClietn4的异步实现。
  • 方便灵活地实现安全、验证、过滤、聚合、限流、监控等各种策略。


03四大网关对比


3.1 四大主流网关介绍

目前流行的用得较多的几个网关:Zuul 2、SpringCLoud Gateway、Kong、OpenResty。他们都基于各自不同的语言实现,也都有着各自不同的优缺点。

7ee54d06dbeeed96f2426d5e90f782c8_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

04总结


基于不同的业务场景,选择不同的API网关组件,应对不同的系统流量和并发数。不同的业务场景,在技术选型上也是及其重要的一环。例如:Kong的性能虽然非常不错,适合做流量网关,但是对于复杂的业务系统不建议用Kong,因为会给系统的性能带来缺陷。再如SpringCloud GateWay/Zuul2对于Java技术栈来说比较方便,但是对于lua开发语言不方便。

相关文章
|
26天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
2月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2024 年 9 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 9 月产品动态。
|
2月前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
75 2
|
2月前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
97 2
|
3月前
|
监控 负载均衡 安全
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
|
3天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 11 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2天前
|
Cloud Native API 微服务
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态
微服务引擎 MSE 及云原生 API 网关 2024 年 11 月产品动态。
|
8天前
|
设计模式 负载均衡 监控
探索微服务架构下的API网关设计
在微服务的大潮中,API网关如同一座桥梁,连接着服务的提供者与消费者。本文将深入探讨API网关的核心功能、设计原则及实现策略,旨在为读者揭示如何构建一个高效、可靠的API网关。通过分析API网关在微服务架构中的作用和挑战,我们将了解到,一个优秀的API网关不仅要处理服务路由、负载均衡、认证授权等基础问题,还需考虑如何提升系统的可扩展性、安全性和可维护性。文章最后将提供实用的代码示例,帮助读者更好地理解和应用API网关的设计概念。
36 8
|
24天前
|
负载均衡 监控 API
dotnet微服务之API网关Ocelot
Ocelot 是一个基于 .NET 的 API 网关,适用于微服务架构。本文介绍了如何创建一个 Web API 项目并使用 Ocelot 进行 API 请求路由、负载均衡等。通过配置 `ocelot.json` 和修改 `Program.cs`,实现对 `GoodApi` 和 `OrderApi` 两个项目的路由管理。最终,通过访问 `https://localhost:7122/good/Hello` 和 `https://localhost:7122/order/Hello` 验证配置成功。
29 1
dotnet微服务之API网关Ocelot
|
27天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要