企业级API网关学习总结

article/2025/9/25 9:21:06

网关的产生背景

微服务架构演变

单体架构

所有服务集中在单个项目中,每次部署需要部署整个项目

好处:

  • 部署简单: 由于是完整的结构体,可以直接部署在一个服务器上即可。
  • 技术单一: 项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。
  • 用人成本低: 单个程序员可以完成业务接口到数据库的整个流程。

弊端

  • 系统启动慢, 一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;
  • 系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;
  • 扩缩容困难:系统的扩容只能只对这个应用进行扩容,不能做到对某个功能点进行扩容;
  • 线上问题修复周期长:任何一个线上问题修复需要对整个应用系统进行全面升级。
    在这里插入图片描述

分布式架构

将系统进行垂直和横向拆分后分别部署在服务器上

  • 纵向拆分:根据业务分类进行拆分
  • 横向拆分:将拆分后的业务横向部署多个节点,保证服务高可用性

优点

  • 增大系统容量:垂直或是水平拆分业务系统,让其变成一个分布式的架构
  • 加强系统可用:通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性
    模块重用度高
  • 软件服务模块被拆分,开发和发布速度可以并行而变得更快
  • 系统扩展性更高
  • 团队协作流程改善

弊端

  • 架构设计变得复杂(尤其是其中的分布式事务)
  • 部署单个服务会比较快,但是如果一次部署需要多个服务,流程会变得复杂
  • 系统的吞吐量会变大,但是响应时间会变长
  • 运维复杂度会因为服务变多而变得很复杂
  • 架构复杂导致学习曲线变大
  • 测试和查错的复杂度增大
  • 技术多元化,这会带来维护和运维的复杂度
  • 管理分布式系统中的服务和调度变得困难和复杂

在这里插入图片描述

SOA架构

面向服务即将共用的服务抽取出来做为一个服务供所有系统使用,每个系统不再各自实现
在这里插入图片描述
ESB:是一个集中式的服务总线。通过ESB,可以实现集成业务处理,监控系统间消息流动,管理系统间交互的业务服务。ESB的关注点是集成,核心概念是服务和消息,主要方式是协议适配和中介处理。

微服务

  • 优点:逻辑清晰、简化部署、可扩展、灵活组合,技术异构、高可靠
  • 缺点:复杂度高、运维复杂、影响性能
    在这里插入图片描述

微服务架构产生的原因

微服务架构基于SOA架构演变过来的,在传统的WebService架构中有如下问题:

  • 依赖中心化服务发现机制
  • 使用Soap通讯协议,通常使用XML格式来序列化通讯数据,xml格式非常喜欢重,比较占宽带传输。
  • 服务化管理和治理设施不完善

API网关

capi:对接三方合作平台
iapi:对接内部流量
bapi:对接商家
oapi:对接外部流量

企业级微服务网关

什么是网关

1、流量入口
能聚合所有请求到微服务的流量
2、请求路由
接收进来的请求经过网关策略拦截后,通过负载均衡转发后端服务
3、请求拦截过滤器
在网关进行横切功能:权限校验,限流,监控

为什么需要API网关

在这里插入图片描述

1、采用微服务架构后,一个项目中微服务节点很多
2、在网关层处理所有非业务功能:如负载均衡,鉴权认证,Session处理,安全检查,日志处理,熔断限流等。如果每个服务自己实现,逻辑冗余,难以维护

网管技术选型

在这里插入图片描述

网关解决哪些问题

  • 路由转发:客户端和服务消费方,无需知道请求到下游哪台机器
  • 请求安全:请求签名,Oauth2,鉴权,令牌鉴权
  • 高可用请求:下游服务的高可用依托网关进行负载
  • 资源隔离:资源就是流量,隔离流量
  • 流量灰度:线上灰度部署,可以减小风险。

网关的分类

  • 流量网关:关注稳定和安全
    全局性流量控制
    日志统计
    防止SQK注入
    防止Web攻击
    屏蔽工具扫描
    黑白IP名单
    证书 加解密处理

  • 业务网关:提供更好的服务
    服务级别流控
    服务降级和熔断
    服务与负载均衡,灰度策略
    服务过滤,聚合与发现
    权限验证与用户等级策略
    业务规则与参数检验
    多级缓存策略

目前常见的开元网关大致安语言分类:

  • Nginx+lua:Open Restry、Kong、Orange、Abtesting Gateway等;
  • Java:Zuul/Zuul2 、Spring Cloud Gateway、Kaazing KWG、gravitee、Dromara soul 等
  • Go:Janus、fagongzi、Grpc-Gateway
  • NET:Ocelot
  • Node.js:Express Gateway、MicroGateway。

网关管理平台

功能:
灰度管理:网关灰度 服务灰度
路由管理 令牌分发 服务编排 认证授权 黑白名单 健康检测 指纹证书

为什么需要网关管理平台

痛点

  • 随着业务规模扩大,API接口数据不断增加
  • Apollo配置中心容易出错,可视化效果差
  • 多站点,多环境,多业务场景,网关数量成倍增加

优势

  • 整个生命周期,全部通过配置化,流程化的方式全自助管理,易上手极大的提升研发效率
  • 所有API都可以集中一起管理,通过切换站点,集群就可以相应操作,方便问题定位查询
  • 路由发布支持网关节点选择性发布,Apollo支持较弱
  • 对网关做Mock测试,方便功能点扩展

http://chatgpt.dhexx.cn/article/J4FAYj0P.shtml

相关文章

模糊控制算法

一.基本原理 模糊计算是依据模糊规则,从几个控制变量的输入得到最终输出的过程,可分为模糊规则库,模糊化,推理方法和去模糊化四个模块。 二.matlab代码实现 (1)建立输入输出代码 (2)建立规则库代码 三.运行…

PLC模糊控制之模糊化

模糊控制的模糊化方法有很多种,我们这里主要以三角隶属度函数举例来讲 %输入语言变量:实际温度y与温度设定值ySP之差e=y-ySP及其变化率e/TS,TS为采样周期; %输出语言变量:控制通过加热装置的电流的可控硅导通角的变化量u. %温控系统为一个双输入单输出的模糊控制器。 %…

遗传算法优化模糊控制规则

声明:本博客只是为方便交流学习, 不得用于任何商业用途。内容涉及知识产权,版权所有,抄袭翻版必究。 目录: 遗传算法优化模糊控制规则 1、 系统辨识 2、 模糊控制器 3、 遗传算法 4、 代码实现 本文将系统且贯彻分析…

模糊控制基础算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34445388/article/details/79086584 模糊控制的工作原理: 从模糊控制器的构成我们知道,输入模糊化,模糊推理,去模糊化是实施…

模糊控制算法Fuzzy controller驾驶员制动意图识别模型,模糊控制算法,很好的模糊控制算法学习的例子

模糊控制算法Fuzzy controller驾驶员制动意图识别模型,模糊控制算法,很好的模糊控制算法学习的例子,有word操作,一看就会。 ID:1430638075361666牡丹城幽默的草莓

模糊控制算法在MATLAB/SIMULINK中的应用

模糊逻辑控制简称模糊控制,是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。模糊控制实质上是一种非先行控制,从属于智能控制的范畴。模糊控制的一大特点是既有系统化的理论,又有大量的实际应用背景。 前面在学…

模糊控制算法实例解析(含代码)

首先来看一个实例,控制进水阀S1和出水阀S2,使水箱水位保持在目标水位O处。 按照日常操作经验,有以下规则: 1、 若当前水位高于目标水位,则向外排水,差值越大,排水越快; 2、 若当…

车辆换道决策的模糊控制算法实例

目录 一、模糊控制在换道决策应用上的概念介绍 1.1 模糊化 1.2 建立模糊规则 1.3 解模糊 二、Matlab建立模糊逻辑系统 2.1 Matlab模糊逻辑工具箱 2.2 建立模糊系统的步骤 2.3 建立换道决策的模糊逻辑系统 一、模糊控制在换道决策应用上的概念介绍 实际驾车时,…

模糊控制算法实例matlab程序

参考文献《智能控制——刘金锟》 以水位的模糊控制为例。如图4一4所示,设有一个水箱,通过调节阀可向内注水和向外抽水。设计一个模糊控制器,通过调节阀门将水位稳定在固定点附近。按照日常的操作经验,可以得到基本的控制规则为&am…

模糊控制算法的C++实现

在现代智能控制算法中,模糊控制是在实际控制系统设计中使用比较成熟的一种方法。模糊控制可以使用在一些无法建立系统模型的场合,根据专家经验确定模糊规则,实现对系统的控制。本篇文章适合对模糊控制算法有一定了解的人阅读,给大…

模糊控制算法基础知识

模糊控制的工作原理: 从模糊控制器的构成我们知道,输入模糊化,模糊推理,去模糊化是实施模糊控制的三个主要环节。有时根据这三个环节的作用分别称为:模糊器,模糊推理机和解模糊器。 所以要学会使用模糊控制…

控制算法(二)—— 模糊控制算法

模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它是从行为上模仿人的模糊推理和决策过程的一种智能控制算法。模糊控制首先将操作人员或专家经验编成模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的…

模糊控制(FL)算法

模糊控制算法(理论知识) 模糊(Fuzzy)控制是用语言归纳操作人员的控制策略,运用语言变量和模糊集合理论形成控制算法的一种控制。模糊控制的最重要特征是不需要建立被控对象精确的数学模型,只要求把现场操作人员的经验和数据总结成…

【学习笔记】模糊控制算法

本文目录 0. 前言1. 概述2. 模糊集合2.1 集合和论域2.2 模糊集合的概念2.3 模糊集合的表示方式2.4 模糊集合的运算 3. 模糊关系与模糊关系合成3.1 笛卡尔积3.2 关系与模糊关系3.3 模糊关系的运算3.4 模糊关系合成3.5 模糊变换 4. 模糊推理4.1 模糊推理规则【重要!】…

图像处理——乘性噪声和加性噪声

加性噪声一般指热噪声、散弹噪声等,它们与信号的关系是相加,不管有没有信号,该类噪声是一直存在的。一般通信中把加性随机性看成是系统的背景噪声。 乘性噪声一般由信道不理想引起,它们与信号的关系是相乘,信号在它在…

给数据增加噪声

例如在POS-bp算法中增加噪声,优点:使输出更光滑从而提升网络的推理能力,提升泛化能力。添加样本噪声,使线条更光滑。 这个地方是添加了一个正太分布均值为0,方差为0.01的1xSamLnNum的随机数矩阵。

噪声模型

常见的噪声模型有(z是噪声值,m表示均值,s2表示方差): 1、高斯噪声:ma , s2b^2 2、均匀分布噪声 3、伽马噪声 mb/a , s2b/a^2 4、指数分布噪声 m1/a , s21/a^2 5、瑞利噪声 : 6、椒盐噪声 其中盐表示亮点,椒表示暗点。 几…

噪声系数

噪声系数 噪声分类噪声系数的定义电阻(无源器件)的输出噪声功率半导体器件放大器噪声因子噪声系数NF无源器件的噪声系数 噪声系数的级联噪声系数对系统的影响 噪声分类 热噪声(Thermal Noise):最基本的一种噪声,就像冬日里北方的霾一样,可以说…

图像随机加噪声

对于图像,一般做图像增强都是得要求算法/模型去噪效果好。那么对应图像,原始图像一般多多少少有噪声,通过我们自己的创新算法就可以去噪。也可以有很多客观指标来评价去噪后图像的效果的好坏。 下图为我自己的算法处理的图像,包…

向数据中添加高斯噪声

什么是高斯噪声 高斯噪声既是符合高斯正态分布的误差。一些情况下我们需要向标准数据中加入合适的高斯噪声会让数据变得有一定误差而具有实验价值。高斯噪声还有一些其他用途但是我不太了解,这里我是为了实现多项式拟合正弦曲线,生成数据时,…