当前位置: 首页 > news >正文

API网关

背景

当前每个公司一般都有一个独立的系统,每个系统都有自己的网关,路由本公司下的各个微服务。
但是大集团不止一个公司,而且各个公司有可能会出现互动的场景
这个时候就需要一个管控全局的角色 API网关,也叫平台网关

API网关做什么

  1. 统一域名
    比如:客户端或者第三方应用请求都是
https://api.company.com

不会区分到

https://order.system.com https://user.system.com https://inventory.system.com

需要API网关路由到各个系统

  1. 跨系统路由
/api/order/** → 订单系统网关 /api/user/** → 用户系统网关 /api/payment/** → 支付系统网关
  1. 全局认证/鉴权
    JWT / OAuth2 校验 在 API 网关统一做
    通过后把:
    userId
    tenantId
    roles
    以 内部 Header​ 传给下游

简单架构图

时序图

内部系统之间怎么调用?

先看时序图

发现 不管是外部应用和内部之间调用好像流程都一样,都是先到平台API网关再路由。
很奇怪对吧,就好比 一个学校的学生A要找 另外一个班级的学生B,已经知道他们都是学生的情况下,学生A还要跑到学校门口那里校验身份,再进学校去找学生B。不合理啊

校验规则

虽然内外网都走平台网关,但是他们的校验逻辑不一样

给出校验逻辑的差异

校验维度外网入口(通常)内网入口(通常)说明
网络来源公网 IP内网 IP 段 / VPC外网更不可信,内网可做网段约束
TLS 方式单向 TLS(HTTPS)单向 TLS 或 mTLS内网常加强为双向证书校验
客户端身份JWT / OAuth2(用户态)mTLS / internal token(系统态)外网认“谁用户”,内网认“哪个系统”
认证强度用户登录态、MFA 可能机器/应用身份,无 MFA内网更偏系统间调用
鉴权粒度用户角色 / 数据权限系统级权限(system-a → system-b)外网更细,内网更粗
签名/防篡改可选(HMAC/签名)可选,或依赖 mTLS 加密内网常认为传输层已保护
限流策略更严格(IP / 用户 / API Key)较松或更侧重系统级 QPS外网更易被刷,内网相对可控
黑名单/封 IP常见(IP / 国家 / 风控)较少,或仅内部阻断列表外网威胁面更大
WAF / 攻击防护开启(SQLi、XSS、CC 等)关闭或仅轻量规则WAF 成本/延迟高,内网常简化
审计粒度用户 + 接口 + 参数系统 + 接口外网审计更细,内网偏运维审计
侵入式校验更严格(参数、长度、编码)相对信任(仍建议校验)内网不等于“不校验”,而是“不同重心”
调用链信任不默认信任有限信任(信任域内)零信任下内网也会趋严

外网:用户身份、攻击防护、滥用控制
内网:系统身份、调用权限、可审计性

总结

职责API 网关(平台级)微服务网关(系统级)
统一域名 / 统一入口❌(或仅系统内域名)
跨系统路由(/system-a, /system-b)
全局认证 / 统一身份校验✅(用户态/JWT 等)可选(内部身份/二次校验)
全局限流、封禁、风控
协议转换(HTTP↔gRPC 等)可选
审计/全链路追踪(跨系统)偏系统内
业务路由(到具体服务)少量
业务聚合 / BFF(前端接口)❌(一般不)
接口版本(系统内)少量
内部缓存 / 内部编排
负载均衡到微服务❌ / 可选
http://www.jsqmd.com/news/791391/

相关文章:

  • Cadence OrCAD Capture 新手避坑指南:从零开始画原理图,这10个细节别踩雷
  • 告别鼠标拖拽!用代码画图神器:Draw.io Mermaid插件终极指南
  • WarcraftHelper:魔兽争霸3终极兼容性修复工具完全指南
  • 探索Taotoken模型广场如何帮助开发者快速选型与切换模型
  • 企业内如何通过Taotoken实现API Key的统一管理与审计
  • 终极指南:如何使用RPFM打造专业级《全面战争》模组
  • 从MATLAB到Python:GOT-10k数据集评估与结果可视化完整迁移指南
  • 从点灯到工程模板:TMS320F28335项目文件结构最佳实践与APP文件夹管理
  • ComfyUI ControlNet Aux插件深度解析:构建可控AI图像生成工作流
  • VirtIO-GPU虚拟化图形加速:从零构建到实战部署
  • 南宁家教总动员使用手册:家长从注册到成功上课的全流程指南 - 教育快讯速递
  • 【2026奇点大会AIGC系统搭建全栈指南】:从零构建高可用AI原生内容生成平台的7大核心模块与3类避坑红线
  • 使用Taotoken CLI工具一键配置多开发环境与工具
  • Renoise 快速开始教程
  • 火爆分享如何用Python快速接入Taotoken调用多款大模型
  • 野火IM 1.4.7版本发布:新增多项Server API接口,附多版本升级注意事项
  • FPGA实战:用Verilog三段式状态机设计一个序列检测器(附Modelsim仿真与上板测试)
  • linux学习进展 I/O复用函数——select详解
  • Rusted PackFile Manager:如何用一款工具重塑你的全面战争模组创作体验?
  • 青秀区/西乡塘区找附近家教,怎么选到离家近又靠谱的老师? - 教育快讯速递
  • 3分钟为Windows 11 LTSC 24H2恢复微软商店的终极指南
  • 【2026奇点大会KG实践指南】:92.7%企业未掌握的3类动态Schema演化策略与实时对齐协议
  • 如何快速提取TikTok评论数据:开源评论采集工具TikTokCommentScraper完整指南
  • 观察不同时段调用Taotoken聚合API的延迟稳定性与成功率
  • 长期项目中使用Taotoken观察到的月度成本波动情况
  • 如何高效配置网络资源嗅探器:3个实战技巧解决macOS证书信任难题
  • 专业的AGI员工智能体知名公司 - GrowthUME
  • 部署与可视化系统:移动端跟踪系统:YOLOv8 + ByteTrack 结合 Android CameraX 实现实时行人计数 App
  • 026环形链表II
  • 网盘直链下载助手终极指南:一键获取8大主流网盘真实下载地址