本文从成本、稳定性、安全性、易用性、扩展性等维度介绍MSE云原生网关与自建网关的差异。
对比项 | MSE云原生网关 | 自建Ingress-Nginx | 自建Spring Cloud Gateway | |
---|---|---|---|---|
成本 | 资源成本 | 资源全托管免运维,无需自建CPU和内存资源,降低资源成本。购买可享受折扣,如果首次同时购买注册配置、微服务治理和云原生网关,可享受折上折,且性能提升加持。说明实际购买价格,请以产品购买页为准。 | 需自行运维资源,且需自建CPU和内存资源,成本较高。 | 需自行运维资源,且需自建CPU和内存资源,成本较高。 |
系统搭建成本 | 将流量网关和微服务网关合二为一,在容器和微服务场景下可节省50%的成本。内置免费的Prometheus监控和日志分析能力。 | 微服务场景下需搭建微服务网关。如需使用指标监控和日志分析功能,需额外购买资源及产品。 | K8s场景下需要单独搭建Ingress流量网关。如需使用指标监控和日志分析功能,需额外购买资源及产品。 | |
稳定性 | 高可用 | 多可用区部署,故障自动检测及恢复,SLA保障率高达99.95%。 | 需自行探索和开发高可用保障体系,SLA保障率低。 | 需自行探索和开发高可用保障体系,SLA保障率低。 |
性能 | CPU水位在30~40%时,TPS性能高出开源Nginx Ingress约90%,高出开源Spring Cloud Gateway约100%。软硬一体完成TLS卸载,提升服务器性能的同时,降低响应时间。 | 需自行调优。 | 需自行调优。 | |
监控告警 | 与Prometheus、SLS、链路追踪深度集成,提供丰富的仪表盘及Service级别的监控数据,支持自定义告警规则及钉钉、电话、短信等告警渠道,便于排查异常集群。 | 不支持,需自行搭建监控告警体系。 | 不支持,需自行搭建监控告警体系。 | |
安全性 | WAF防护 | 内置WAF,请求链路和响应时间更短,实例级防护升级至路由级防护。 | 多一层WAF网关,链路长。 | 多一层WAF网关,链路长。 |
认证鉴权 | 提供JWT、OAuth等多种认证鉴权手段、路由级黑白名单,并支持安全插件。 | 需自行进行复杂的安全及授权配置。 | 需自行进行复杂的安全及授权配置。 | |
易用性 | 协议转化能力 | 支持从HTTP到Dubbo的协议转换功能。 | 不支持,需自行构建。 | 不支持,需自行构建。 |
全链路灰度能力 | 搭配MSE微服务治理组件,不修改任何业务代码,实现全链路流量控制。 | 不支持,需自行构建。 | 不支持,需自行构建。 | |
限流降级能力 | 默认集成Sentinel,提供路由级细粒度限流降级策略,不修改任何业务代码,即可实现限流降级能力。 | 部分支持,不支持路由级限流策略。 | 支持。 | |
多种服务发现能力 | 支持K8s、Nacos、Zookeeper、DNS、固定IP以及阿里云的EDAS、SAE等多种服务发现方式。 | 支持K8s。 | 支持Nacos和Zookeeper。 | |
路由能力 | 支持HTTP标头改写、重定向、重写和限速等。负载均衡除支持标准的轮询、随机、最小请求数和一致性Hash外,还支持预热,即在指定时间窗口转发到后端某机器的流量逐步平滑递增路由配置变更热更新,对流量无损。 | 支持HTTP标头改写、重定向、重写和限速等。路由配置变更无法热更新需要Reload,会引起流量抖动。 | 支持HTTP标头改写、重定向、重写和限速等。路由配置变更无法热更新需要Reload,会引起流量抖动。 | |
扩展性 | 插件市场 | 支持Wasm插件,可使用多语言编写Lua脚本插件热更新,毫秒级生效。 | 支持Lua脚本,插件变更需要Reload进程。 | 支持Java Filter扩展。 |