对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构

简介: 对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构

作者:古建国


关于美洽


美洽作为全球智能云客服服务商,10 年来深耕智能客服领域,旗下拥有在线客服、呼叫中心、客服机器人、工单系统、语音机器人等智能客服系列产品矩阵,覆盖不同行业客户服务场景,致力于帮助企业获客、销售和服务场景的效率提升。目前,美洽全链路产品已经服务超过 40 万家企业客户,覆盖互联网软件、教育培训、医疗、电子商务、金融、生活服务和房地产等行业领域。


需求背景


  1. 多条业务线使用了了不同编程语言,在微服务化演进的路上困难重重;
  2. 历史架构使用多个流量转发中间件导致流量路径冗长、复杂且故障排查困难(LB + OpenResty + Nginx + Caddy + SpringCloud-Gateway);
  3. WebSocket 长连接服务在多重路由层上不支持热更新,维护成本高。


历史架构的流量拓扑图如下:



需求目标


  1. 找到一个统一网关,能够一次性解决流量网关和业务网关的路由转发需求;
  2. 支持路由规则热更新,解决 WebSocket 连接在路由更新或网络抖动时产生的重连风暴;
  3. 前置 API 请求权限校验、签名校验、WAF 拦截、CC 拦截;
  4. 可视化统一网关的后台操作,让普通员工也能上手;
  5. 多云架构下私有化部署支持。


方案横向对比


通过对目前市面上流行的网关产品进行详细的横向对比,再结合美洽对统一网关的需求目标,我们从对比的表格当中,看到了 Higress 所带来的最佳对比结果。


同时美洽重点关注的几个点:K8S Ingress 支持、WebSocket 支持、Nacos 服务发现、路由配置热更新、WASM 插件都得到了很好的支持。


image.png


为什么选择 Higress


面向多云架构友好

Higress 在阿里云上有成熟的企业版产品:MSE 云原生网关,我们从 2021 年开始使用这款产品,这是一款全托管,完全免运维的 SaaS 网关产品,并且具备强劲的性能和丰富的功能,相比自建同吞吐的网关,整体成本是更低的,因此我们在阿里云上直接使用了这款产品。


美洽除了阿里云,在其他云上也有部署业务,我们希望能统一多云的统一网关技术架构,开源版 Higress 正好符合我们的需求,相比商业版,在控制台功能上,开源版目前的能力相对较少,但大部分功能也都可以通过自己定义 K8s CRD 配置的方式来实现,完全满足我们的需求。


原生支持 K8s Ingress

美洽从 2021 年便已经全面迁移到 Kubernetes 进行资源调度,遇到最大的困难是历史的网关中间件,在容器化的架构里面,各种水土不服,要么需要借助 Nginx-Ingress-Controller,要么需要外部的 SLB 进行服务之间的负载均衡与网络通信。这导致了比容器化之前更加复杂的流量路径,一度让我们下定决心,必须、必须、必须要解决统一网关的问题,还必须云原生的。


2021 年底开始,我们开始尝试使用阿里云 MSE 网关 SaaS 产品,开始将部分服务从 Nginx 路由迁移到 MSE 网关上,很快解决了Ngxin Configuration 配置维护复杂,故障频发的问题,尝到甜头后,我们便开始计划进一步扩大 MSE 网关的使用,结合 Nacos 和 K8S 的服务发现,将 80% 大部分容器化服务路由转发全部迁移到了云原生网关上。这带来的收益就包括:


  1. 简化了流量路径,公网流量通过 SLB 直接到达网关,网关路由直达容器 Pod;
  2. 释放了使用 ECS 自建的 Nginx 、OpenResty 、Caddy 服务,降低了大量服务器成本;
  3. 服务发现和服务治理,以及各个服务当前的健康状态都以可视化的 Dashborad 呈现出来;


控制面和数据面解耦的架构

控制面和数据面解耦是一种很好的设计模式,把管理控制逻辑和运行处理逻辑分开,这样可以更好地管理和扩展系统。


  1. Console 负责管理 和 Gateway 负责处理请求,灵活可扩展,互不干扰;
  2. 整个系统的性能和可用性可以得到很好的保障;
  3. 即使控制面出现问题,数据面仍然可以继续处理请求,反之亦然。


在美洽客服自己的产品中,也大量使用了控制面和数据面分离的这种架构设计模式,在选择 Higress 统一网关的落地实践中,也更好的可以和美洽产品的架构进行配合,例如控制台采用微前端技术统一美洽运维控制台,Higress 控制台,Nacos 控制台。


容易上手的后台 Dashboard

在早期,美洽在 2021 年开始使用阿里云 MSE 云原生网关时,就已经对网关的控制台使用有了很多的经验基础,团队中 QA 同学也能熟练使用了。目前在其他云上的项目,私有化部署的开源版 Higress,在控制台方面功能与操作和阿里云 MSE 产品的交互保持一致,团队使用很快便上手了。



插件方面,美洽使用了 JWT Auth 鉴权,Key Rate Limit 限流,HMAC Auth 请求签名,Bot Detect 和 WAF 功能有涉及。


image.png


美洽的落地实践


采用 Helm 在 K8s node 上 一键部署


helm repo add higress.io <https://higress.io/helm-charts>
helm install higress higress.io/higress -n higress-system --create-namespace


完全替代了 Nginx 、OpenResty、Caddy 、SLB-Intranet



彻底解决 WebSocket 断线重连问题

美洽的智能客服产品侧使用了 WebSocket 进行长连接保持和消息通信,所以非常依赖网络的稳定,以及更新网关配置所带来的副作用。在使用 Nginx + OpenResty 方案的期间,每一次的配置变更都会带来极大的代价,断线重连风暴时常发生。一次配置变更 Pendding 或者变更失败带来的瞬时断联是极其痛苦的。


image.png


在迁移到 Higress 上之后,路由配置热更新特性,不再需要像 Nginx 一样需要 Reload Gateway,解决配置更新 reload 带来的断线重连风暴问题。另外,在 WebSocket Server 服务升级过程中,通过给 Pod 打上 stage 标签,在 Higress 侧通过标签路由进行新老版本无损流量切换,给产品快速迭代升级带了巨大的杠杆效应。


熔断限流

在面向 2B 的 SaaS 产品业务场景中,经常会发生某一个客户突发海量流量,占据大量带宽,影响其他客户正常使用的情况,这时我们需要针对客户规模对单个客户的 API 并发上限做灵活的动态限流,使用 Higress 的插件Key Rate Limit 就很好的解决了这个问题,根据流量大盘随时调整限流水位红线,做到精准,灵活的限流。


image.png


经验总结


Higress 网关的落地,给企业全面落地云原生微服务架构提供强有力的支持,对我们技术人员来说,这绝对是一个杠杆级别的开源产品,另外,在阿里云上又有对等的 SaaS 产品,这样的配合,将公有云和私有化部署的统一网关一次性全部解决,对企业来说是绝对的利好。


  1. 统一流量网关+业务网关能力,实现了给企业降本,为研发增效;
  2. 为云原生架构提供很好的基座,在异构语言服务化层面排除了网络通信难题;
  3. 路由热更新、无损升级、可视化 Console、开放的插件、基于 Kubernetes 和 Istio,给技术演进带来了更多的可能性。


最后,我们祝愿 Higress 在云原生的道路上越走越远,大家一起用开源、开放、分享的心态将 Higress 建设地越来越好。

相关文章
|
7月前
|
人工智能 负载均衡 API
长连接网关技术专题(十二):大模型时代多模型AI网关的架构设计与实现
随着 AI 技术快速发展,业务对 AI 能力的渴求日益增长。当 AI 服务面对处理大规模请求和高并发流量时,AI 网关从中扮演着至关重要的角色。AI 服务通常涉及大量的计算任务和设备资源占用,此时需要一个 AI 网关负责协调这些请求来确保系统的稳定性与高效性。因此,与传统微服务架构类似,我们将相关 API 管理的功能(如流量控制、用户鉴权、配额计费、负载均衡、API 路由等)集中放置在 AI 网关层,可以降低系统整体复杂度并提升可维护性。 本文要分享的是B站在大模型时代基于多模型AI的网关架构设计和实践总结,希望能带给你启发。
568 4
|
8月前
|
人工智能 算法 网络安全
基于PAI+专属网关+私网连接:构建全链路Deepseek云上私有化部署与模型调用架构
本文介绍了阿里云通过PAI+专属网关+私网连接方案,帮助企业实现DeepSeek-R1模型的私有化部署。方案解决了算力成本高、资源紧张、部署复杂和数据安全等问题,支持全链路零公网暴露及全球低延迟算力网络,最终实现技术可控、成本优化与安全可靠的AI部署路径,满足企业全球化业务需求。
|
2月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
632 0
|
11月前
|
人工智能 数据可视化 数据挖掘
从传统软件到SaaS:为什么更多企业选择订阅制服务?
本文详细介绍了SaaS的概念、优势及其在现代工作中的重要性。SaaS是一种通过互联网提供云计算服务,用户无需安装和维护本地软件,只需通过网络访问软件即可。SaaS通过自动更新和维护、订阅制收费模式等方式降低成本,提供更便捷的服务。
2511 4
从传统软件到SaaS:为什么更多企业选择订阅制服务?
|
5月前
|
数据采集 人工智能 监控
MyEMS 开源能源管理系统后台配置指南 —— 网关管理模块详解
开源能源管控系统面向建筑、工厂等场景的开源能源管理系统,支持电、水、气等数据采集与智能分析,并提供光伏监控、储能管理等功能模块。系统具备完善的网关管理功能,包括网关查看、添加、编辑、删除及批量操作,助力用户高效实现全链路能源管理。
257 1
|
7月前
|
人工智能 API 开发者
狂揽7.5k星!这款开源API网关彻底解放开发者:一键聚合GPT-4、Suno、Midjourney,还能在线充值!
New API 是一款基于 One API 二次开发的 AI 模型接口管理与分发系统,支持多种大模型(如 GPT-4、Suno、Midjourney 等)统一封装为 OpenAI 格式接口调用。其核心功能包括多模型统一网关、企业级权限管控、“推理力度”分级、无魔法访问全球 AI 服务、灵活计费体系及开发者友好设计。技术架构采用 Golang + Gin 框架,支持高并发低延迟,适用于企业内部 AI 中台、多模型 SaaS 平台、学术研究协作及个人开发者工具等场景。项目开源地址:https://github.com/kingbug/new-api。
1970 6
|
9月前
|
Kubernetes Cloud Native 开发者
alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
276 61
|
6月前
|
数据采集 边缘计算 JSON
MyEMS开源能源管理系统4G网关EG200
MyEMS是一款基于Python的开源能源管理系统,支持工厂、建筑等场景的能源数据采集与分析,具备设备管理、故障诊断等功能,助力碳中和目标。其EG200 4G网关支持全网通4G LTE,兼容Modbus RTU协议,提供RS232/RS485接口,可采集100+数据点,支持MQTT通信与边缘计算功能,配合MyEMS系统实现云边端协同,适用于电表、水表等数据采集场景。网关工作温度范围广(-35℃~75℃),支持远程参数配置与线性换算,需搭配MyEMS MQTT软件使用。
224 0
|
9月前
|
人工智能 BI API
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,新增用户额度、密钥管理、Web 登录鉴权等功能,优化权限管理,适合企业场景使用。
1391 3
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
|
9月前
|
运维 供应链 前端开发
中小医院云HIS系统源码,系统融合HIS与EMR功能,采用B/S架构与SaaS模式,快速交付并简化运维
这是一套专为中小医院和乡镇卫生院设计的云HIS系统源码,基于云端部署,采用B/S架构与SaaS模式,快速交付并简化运维。系统融合HIS与EMR功能,涵盖门诊挂号、预约管理、一体化电子病历、医生护士工作站、收费财务、药品进销存及统计分析等模块。技术栈包括前端Angular+Nginx,后端Java+Spring系列框架,数据库使用MySQL+MyCat。该系统实现患者管理、医嘱处理、费用结算、药品管控等核心业务全流程数字化,助力医疗机构提升效率和服务质量。
551 4

热门文章

最新文章