Gateway 定义是什么?

百度百科解释:

网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。

网关既可以用于广域网互连,也可以用于局域网互连。

网关是一种充当转换重任的计算机系统或设备。

使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。

与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

通俗一点的讲:网关就是要去别的网络的时候,把报文首先发送到的那台设备或软件。

就像大家小区的菜鸟驿站,要收发快递都需要在驿站处理。

驿站知道怎么把你的馒头送到杭州的张三手里,也知道成都的李四寄来的水果是小区哪栋楼美女应该吃的。

硬件网关

在it技术领域,网关最初是一种硬件设备的代名词,时至今日,在购物网站上搜索“网关”依然可以看见大量硬件设备

其中路由器就是大家接触最多的网关设备,这些设备通常主要负责数据转发的角色。

换句话说,这些设备就像快递公司一样负责收发数据,而我们像在微信上交流就必须把我们的数据打包成快递让网关送到其他人那里。

软件网关

而在软件领域,网关软件大多主要解决以下问题:

  1. 设备成本

    互联网不断发展,我们有各种各样需求需要针对性转发各种数据

    • 比如早年博客盛行的时代,自己搭建博客是技术宅的必备选择,如果都需要一个硬件设备,电费网费设备费估计没多少人能承受
    • 直播、短视频盛行的现在,如此量级庞大并且种类繁多的数据流如果仅仅通过硬件设备分类,定位以及转发,几亿人的视频如何配额呢?
  2. 定制化能力

    现代需求越来越复杂,硬件由于难以修改,很难针对性添加业务处理,比如

    • 大家常常遇见攻击之后,想限制某个ip访问量
    • 站点访问量暴增,需要添加新的服务器,像微博上明星出轨离婚那个夸张访问量
    • 微服务拆分
    • 灰度上线
    • 等等

由 HAProxy、NGINX、Spring Cloud Gateway、Zuul、envoy 再到 apisix 、kong、istio 等等,复杂度与其涵盖的知识面,是笨鸟本人多年都不曾学完。

Api Gateway 介绍

API Gateway 其实是位于客户端与后端服务之间的 API 管理工具。是特定场景的软件网关,也是反向代理的典型代表。

百度百科解释:API网关是一个服务器,是系统的唯一入口。

从面向对象设计的角度看,它与外观模式类似。

API网关封装了系统内部架构,为每个客户端提供一个定制的API。

它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。

API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。

通常,网关也是提供REST/HTTP的访问API。

服务端通过API-GW注册和管理服务。

现在很多应用和服务都在向微服务、容器化迁移,形成新的云原生时代。

云原生是下一个 5-10 年的技术颠覆,它将重写传统企业的技术架构,非常适用于公有云、私有云、混合云等各种环境。

一个动态、实时、高性能的 API 网关可以提供负载均衡、动态上游、灰度发布、精细化路由、限流限速、服务降级、服务熔断、身份认证、可观测性等数百项功能。

其作用可以用网友的这幅图理解

在 CNCF 的 API Gateway landscape 中有接近 20 个 API 网关的选型(不包括公有云厂商的产品),包括 Apache APISIX、Kong、Tyk 等等。很多网关都称自己是下一代 API 网关,是最受欢迎的开源 API 网关项目。

这些网关都有一些相似的理念,和自己独特的理解。

目录

gateway 是什么?的更多相关文章

  1. 记一次nginx部署yii2项目时502 bad gateway错误的排查

    周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在 ...

  2. tomcat 504 gateway time-out

    今天有个环境ajax调用一个请求的时候,出现一个504 gateway time-out响应,原以为是nginx找不到资源的问题,恰当我们的服务器上又配置了nginx,看了配置文件,没有指向tomca ...

  3. linux查看本机IP、gateway、DNS

    IP:     ifconfig gateway:[root@localhost ~]# netstat -rnKernel IP routing tableDestination     Gatew ...

  4. 502 Bad Gateway深究

    早上收到502报警,设置的报警规则是502错误两分钟超过500就报警. 排障流程: 日志分析系统报障-->查看日志系统日志-->nginx错误日志-->php错误日志-->ph ...

  5. Problem with "AnyConnect was not able to establish connection to the specified secure gateway."

    Cisco的VPN客户端最近报"AnyConnect was not able to establish connection to the specified secure gateway ...

  6. Azure Application Gateway (3) 设置URL路由

    <Windows Azure Platform 系列文章目录> 在之前的文章中,笔者介绍了Azure Web App可以设置URL路由.如下图: 在这里笔者简单介绍一下,首先我们还是创建以 ...

  7. Azure Application Gateway (4) 设置URL路由 - PowerShell

    <Windows Azure Platform 系列文章目录> 本文将介绍如果使用Azure PowerShell,创建Azure Application Gateway URL Rout ...

  8. Azure Application Gateway (2) 面向公网的Application Gateway

    <Windows Azure Platform 系列文章目录> 本章将介绍如何创建面向公网的Application Gateway,我们需要准备以下工作: 1.创建新的Azure Reso ...

  9. Azure Application Gateway (1) 入门

    <Windows Azure Platform 系列文章目录> 请读者注意,Azure Application Gateway在ASM模式下,只能通过PowerShell创建 具体可以参考 ...

  10. 解决 502、504 Gateway Time-out(nginx)

    一.504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在升级discuz论坛的时候遇到的 一般看来, 这种情况可能是由于nginx ...

随机推荐

  1. P1725-DP【绿】

    这道题最开始我用记搜写的,然后WA了一些点,后来看了半天才发现是数组开小了,原来他给了两个数据范围,一个是60%数据的数据范围,另一个是100%数据的数据范围.我没仔细看,没看见后面那行,把60%数据 ...

  2. C#设计模式09——组合模式的写法

    1. 什么是C#组合模式? 组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示"整体/部分"层次结构.使用此模式,客户端可以按相同的方式处理单个对象和对象集合,而不必关 ...

  3. influxdb 端点使用http进行sql查询,写数据

    转载请注明出处: InfluxDB有以下几个常用的端点,它们的作用和传参方式如下: 1./ping 端点: 作用:用于检查InfluxDB实例的状态,返回InfluxDB的构建类型和版本信息. 传参: ...

  4. linux环境C语言实现:h265与pcm封装成AVI格式

    ​ 前言 不知道是处于版权收费问题还是什么原因,H265现在也并没有非常广泛的被普及.将h265数据合成AVI的资料现在在网上也基本上没有.使用格式化工厂工具将h265数据封装成AVI格式,发现它在封 ...

  5. Qt5.9 UI设计(五)——将Tabwidget与treeWidget相互关联

    前言 前面一章介绍了ControlTabWidget ControlTreeWidget maintitlebar 三个子页面同时布局到 mainwindow 的方法,本章介绍如何将ControlTr ...

  6. [转帖]Oracle 创建和查看DBLink 的方法

    https://www.cnblogs.com/zhouzangood/articles/4612441.html 1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: ...

  7. [转帖]Python基础之判断和循环(三)

    https://www.jianshu.com/p/5a7552821c63 一.判断 关于判断,跟字面意思一样,就是判断某一个时刻应不应该做某件事: 语法: if 判断条件: 执行语句-- else ...

  8. Grafana监控OracleDB的完整过程

    Grafana监控OracleDB的完整过程 背景 两年前曾经写过一个进行Oracle 监控的简单blog 但是周天晚上尝试进行处理时发现很不完整了. 很多数据获取不到. 晚上又熬夜了好久进行处理. ...

  9. Harbor 简要安装说明

    Harbor 简要安装说明 下载最新的离线安装文件 链接:https://pan.baidu.com/s/1ZEjgnI3YmhsdVOm7h7SWcQ 提取码:GSNB 复制这段内容后打开百度网盘手 ...

  10. charles如何抓取https请求

    我们都知道charles下载安装后只能抓取http请求,要想抓取https请求需要下载安装证书 下面介绍pc端和移动端的配置方法 一.pc端(win) 1.打开charles,点击help>SS ...