网关

网关基础知识
RGW全称 Red GateWay :小红书网关(网关英文:Gateway; 接入网关:Access Gateway)
网关(通用):Gateway
接入网关:API Gateway、Access Gateway
业务网关:Business Gateway
网关服务器:Gateway Server
网关设备:Gateway Device
1.2 GSLB & LB
在这里插入图片描述

下面简明阐述 LBGSLB 的含义、区别及应用场景:

1. LB(负载均衡,Load Balancer)

含义

  • LB 是 “Load Balancer” 的缩写,中文意思是负载均衡
  • 就是将用户的网络流量或请求合理分配到多台后端服务器,从而提升系统吞吐、保证高可用性、防止单点故障。

典型类型

  • L4 LB(四层负载均衡):基于 TCP/UDP 层(如 LVS)
  • L7 LB(七层负载均衡):基于 HTTP/HTTPS 层(如 Nginx、HAProxy)

应用场景

  • 一个机房、一个数据中心中对业务服务器的流量分担
  • 网站、API 接口、App 后端等本地流量调度

2. GSLB(全局服务器负载均衡,Global Server Load Balancing)

含义

  • GSLB 是 “Global Server Load Balancing” 的缩写,中文通常叫全局负载均衡全局服务器负载均衡
  • 是在不同地域、不同数据中心/机房,根据用户的地理位置、网络状况等,把流量智能分配到多个跨地域的业务节点/机房/云上资源。

主要作用

  • 用户就近访问,减少延迟、提升体验
  • 业务级容灾:主节点出故障可自动切换到其它区域节点
  • 跨地区流量调度,例如 CDN、全球化应用部署

实现方式

  • 常采用智能 DNS(解析时返回最佳节点的IP)
  • 或通过“Anycast”/全局流量调度设备实现

应用场景

  • 互联网公司在全国或全球多地部署服务(如 B 站、阿里、腾讯、Netflix)
  • 灾备、多活、就近服务等需求
  • 全球 CDN 和视频分发加速

3. 区别总结

项目LBGSLB
全称Load BalancerGlobal Server Load Balancer
级别一般针对单一机房/数据中心跨多个机房/数据中心/地理区域
目标服务器实例之间流量均衡节点/机房/区域之间流量智能调度
技术TCP转发、反向代理等智能DNS、Anycast、全局调度平台
主要场景本地高可用/扩容跨地域容灾、全球多点服务、就近接入

4. 总结

  • LB:本地(单个机房或云区)的负载均衡,分发流量到多台后端服务器,提高可用性和扩展性。
  • GSLB:跨地域/机房/云的流量调度,用户访问时根据地域、健康检测等分配到最优的数据中心,保障全球流量智能分发和业务连续性。
    如需更深入的架构细节或实际产品选型(如 AWS ELB/GSLB、阿里云全局流量调度等)可补充说明。
    二、网关设计
    互联网公司的接入网关(API Gateway/Access Gateway)和业务网关(Business Gateway)在系统架构中担负着不同的职责,合理的设计对于高可用、高扩展、安全性至关重要。以下分别针对接入网关业务网关的设计思路、常见功能、架构建议、实现要点进行说明。

一、接入网关(API Gateway/Access Gateway)

1. 定义和作用

  • 定义:服务于所有客户端请求的统一入口,负责流量接入、协议转换、安全验证等。
  • 作用
    • 屏蔽后端架构细节,对外提供统一API接口
    • 统一安全校验(如认证、鉴权、IP黑白名单、流控)
    • 动静态内容分发
    • 负载均衡、限流、降级等

2. 设计要点

请求处理流程
Client -> [Access Gateway] -> [业务网关/后端服务]
常见功能
  • 认证鉴权(如OAuth2/JWT/Session等)
  • HTTPS接入与证书管理
  • 流量控制与限流(如qps限制、用户维度容量保护)
  • 日志采集与监控
  • 熔断与降级
  • 请求路由与API聚合
  • 协议转换(如HTTP2、WebSocket)
  • 安全防护(SQL注入、XSS、CC攻击防护)
  • 动态配置、灰度发布、AB测试支持
架构建议
  • 高可用分布式部署:通过反向代理(如Nginx、Envoy、Kong等)+ 服务实例自注册发现。
  • 网关可扩展:支持自定义插件扩展,集成日志、监控、鉴权等模块。
  • 支持横向扩展:无状态设计,通过LB分流。
  • 管控台和配置中心:需配备可视化管理入口,动态管理路由、限流策略等。
示例架构
|--------------------|
|  Client(Mobile,Web)|
|--------------------||---------------   [负载均衡]|  Access GW   |-----> 鉴权、认证、流控、日志...---------------|--------------- |  业务网关层  |-----> 各业务微服务---------------|---------------| 数据服务等  |---------------

二、业务网关(Biz Gateway)

1. 定义和作用

  • 定义:处于接入网关与业务服务之间的中枢系统,聚合/编排多个后端微服务,为特定业务场景提供统一接口。
  • 作用
    • 面向业务、协议、领域整合
    • API聚合(组合调用多个后端服务)
    • 灰度发布、服务编排
    • 策略路由、服务适配(如A/B Test或根据不同条件路由到不同服务)
    • 隐藏后端复杂性或服务拆分细节

2. 主要功能

  • 业务API聚合和编排
  • 二次鉴权、用户授权、业务日志补全
  • 针对多版本/多租户的路由
  • 业务容错、补偿、重试机制
  • 域数据缓存(如用户画像、短时性业务数据缓存)
  • 上下文传递与透传(TraceId、用户态)

3. 架构与设计要点

  • 分层架构:解耦通用接入逻辑和封装业务逻辑
  • 服务聚合/编排:如GraphQL、BFF(Backend For Frontend)模式
  • 高内聚低耦合:可灵活拦截、改写、路由、容错
  • 异步调用/并发聚合:为前端提供更快响应
  • 可观测:埋点、指标、链路追踪
  • 灰度、回滚支持:config中心驱动,动态切流

三、设计落地建议

1. 选型建议

  • 接入网关:
    • 业界主流可选Nginx、Kong、Envoy、APISIX
    • 云原生可考虑Kubernetes Ingress Controller(如Istio、Traefik)
  • 业务网关:
    • 自研居多(因面向具体业务编排和策略强)
    • GraphQL/BFF架构适合前端多端需求和API聚合

2. 典型設計模式

  • 三层网关模式:负载均衡→接入网关→业务网关
  • 多级限流与隔离: 在接入和业务网关分别限流,隔离影响范围
  • 服务注册与发现: 可用Consul、Eureka等

3. 典型数据流

[用户请求] -> [负载均衡] -> [接入网关] -> [业务网关] -> [后端服务/微服务]

四、实际案例拓展

阿里/腾讯等互联网公司参考案例

  • 接入网关:OPGateway、Tengine、APISIX等
  • 业务网关:API聚合层(如淘宝的API Gateway有独立的「业务聚合网关」层)
  • 高并发下机制:如分片限流、调度隔离、弹性扩容

五、总结

  • 接入网关偏通用侧重安全和接入管控,业务网关侧重业务聚合与策略隔离编排
  • 两者解耦,便于横向扩展、针对不同需求演进,保障架构稳定性与灵活性
    如果需要参考具体的开源网关或业务编排解决方案,也可以给出更详细的案例或代码片段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/86947.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/86947.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/86947.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全虚拟磁盘技术的创新与实践

文章目录 前言一、数据安全保护的新挑战1. 数据安全态势日益严峻,法律法规陆续出台2. 加强数据安全管控成为银行数据安全管理核心之一3. 银行终端数据安全管控存在的难题 二、安全虚拟磁盘的探索与实践1. 敏感文件的入盘及操作2. 敏感文件的流转及出盘三、安全虚拟磁…

uni-app项目实战笔记4--使用组件具名插槽slot定义公共标题模块

先来看效果: 如图,“每日推荐”,“专题精选”这些公共标题有相同的地方,也有自己的独特的地方,像这类有共性又有个性的可考虑使用slot插槽来实现。 实现步骤: 1.在前面文章创建的公共组件common-title定义…

Appium + Java 测试全流程

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】

vue3 双容器自动扩展布局 根据 内容的多少 动态定义宽度

需求: 左右两个列表 挨着排列,当左边内容超出滚动条时,换列显示,右边的列表随之移动 效果图: 1.左边数据:10,右边数据:5 2.左边数据:30,右边数据&#xff…

linux-java部署

version: 3 services:nacos_host:image: nacos/nacos-server:v2.2.0restart: alwayscontainer_name: nacos_hostenvironment:- MODEstandalone- PREFER_HOST_MODEhostnamevolumes:- ./sores/nacos/log:/home/nacos/logsports:- 8848:8848- 9848:9848 #2.0新增了两个端口&#x…

010502管道符_防火墙出入站_不回显带外-渗透命令-基础入门-网络安全

文章目录 1 管道符2 防火墙出入站3 不回显外带典型场景常见OOB通道实现示例(以DNS为例)1. 利用DNS外带数据2. 使用工具监听 防御建议扩展:无回显OOB自动化工具注意事项演示结语 1 管道符 | (管道符号) ||(…

智慧养老与数字健康:科技赋能老年生活,构建全方位养老体系

在全球人口老龄化进程不断加速的当下,我国的老龄化程度也日益加深。 截至 2023 年末,我国 60 岁及以上人口达 2.97 亿人,占总人口的 21.1%,其中 65 岁及以上人口为 2.17 亿人,占总人口的 15.4%。 养老问题已成为全社…

在 cuda 基础环境中安装完整的cupy

nvidia/cuda:12.6.3-cudnn-devel-ubuntu22.04 1. 创建 cuda 基础容器 export NUM2 && \ sudo docker run --gpus all -it \ --name cupy_LHL_${NUM} \ -v /home/jimmy/ex_cupy/tmp${NUM}:/root/tmp${NUM} \ -v /home/jimmy/.ssh:/root/.ssh \ nvidia/cuda:12.6.3-dev…

OB Cloud × 海牙湾:打造高效灵活的金融科技 AI 数字化解决方案

在金融行业国产升级的战略背景下,上海海牙湾信息科技有限公司凭借其服务银行客户的深厚积累,近日完成重大技术升级 —— 将金融行业积分生态的SaaS平台、数字化营销中台及企业供应链管理系统全部迁移至完全自主研发的 OB Cloud 一体化云数据库。依托OB C…

LarkXR 赋能AI x XR数字供应链:引领智能设计、数字孪生与零售新未来

全球零售业数字化转型 在数字化浪潮的推动下,零售业正经历一场从设计到生产再到终端消费的全链路变革。消费者对个性化、沉浸式体验的需求日益增长,而企业也亟需通过数字化手段提升效率、降低成本并增强竞争力。Paraverse平行云的LarkXR实时云渲染技术&…

go语言快速入门

代码仓库 gitee 如何运行 以打印hello world为例 // main.go package main // package为main的文件可以直接运行import "fmt"func main() {fmt.Println("Hello, World!") }# 直接运行 go run main.go # 或者编译后运行 go build main.go ./main.exe变量…

使用麒麟V10操作系统的KVM服务,但麒麟V10存在高危漏洞无法修复?

麒麟V10操作系统之KVM部署虚拟机_麒麟v10安装kvm-CSDN博客文章浏览阅读3.7k次,点赞30次,收藏25次。本文介绍了在麒麟V10操作系统上部署KVM虚拟机的详细步骤,包括检查虚拟化支持、安装KVM组件、创建虚拟机、配置网络桥接,以及解决可…

PG、SprinBoot项目报错,表不存在

1、用户名密码错误 2、数据库IP和数据库名称错误 3、类似于如下的表结构 PG 默认扫描PUBLIC下面的表,需要手动指定schema,currentSchemaswdn_new url: jdbc:postgresql://${PGSQL_HOST:127.0.0.1}:${PGSQL_PORT:5432}/swdn_new?currentSchemaswdn_ne…

python类成员概要

python类成员概要 python类成员分类如图: 简要说明: 1.实例变量(Instance Variables) 定义:在方法中通过 self.变量名 声明,属于单个实例 特点:每个实例拥有独立副本,在实例间不共…

Java性能问题排查

1. Java 性能排查 使用JPS查看当前Java进程 jps #查询需要排查的Java进程ID查看Java进程内最耗费CPU的线程资源使用情况 top -H -p <Java进程pid>ps -Lfp <Java进程pid>ps -mp <Java进程pid> -o THREAD, tid, time根据第1步查询出的PID&#xff0c;通过jstac…

基于OpenCV和深度学习实现图像风格迁移

文章目录 引言一、准备工作二、代码实现解析1. 读取和显示原始图像2. 图像预处理3. 加载和运行风格迁移模型4. 处理输出结果 三、效果展示四、扩展应用五、总结 引言 图像风格迁移是计算机视觉中一个非常有趣的应用&#xff0c;它可以将一幅图像的内容与另一幅图像的艺术风格相…

SwiftUI隐藏返回按钮保留右滑手势方案

SwiftUI 隐藏返回按钮但保留右滑返回手势的方案 在 SwiftUI 中&#xff0c;如果你使用&#xff1a; .navigationBarBackButtonHidden(true)可以隐藏系统返回按钮&#xff0c;但会发现 右滑返回手势&#xff08;边缘返回&#xff09;失效了。 这是因为 SwiftUI 底层使用了 UI…

练习小项目11:鼠标跟随小圆点

&#x1f3af; 项目目标&#xff1a; 当鼠标在页面移动时&#xff0c;小圆点会跟随鼠标移动的位置&#xff0c;带有平滑动画。 &#x1f9e0; 实现思路&#xff1a; HTML&#xff1a; 页面内放一个 div 作为圆点。 CSS&#xff1a; 圆点使用绝对定位&#xff0c;初始在屏幕…

华为:eSight网管平台使用snmp纳管交换机

一、SNMP简介 SNMP&#xff08;Simple Network Management Protocol&#xff0c;简单网络管理协议&#xff09;是一种用于管理和监控网络设备的标准协议&#xff0c;广泛应用于路由器、交换机、服务器、打印机等网络设备的管理场景。以下是对它的简单介绍&#xff1a; 1、SNM…

【单片机期末】接口及应用

一、C51语言基础 【考点】存储类型 data是低128字节 code是ROM idata是高128字节 pdata是外部RAM可以用R0 R1寻址的&#xff0c;也叫页 xdata是外部RAM&#xff0c;可以用DPTR寻址或总线扩展 其中data、code、idata、pdata、xdata均为字节类型的&#xff0c;bdata是对位寻址的 …