什么是云原生网关MSE
在体验云原生网关 MSE-Higress功能之前,先了解一下什么是云原生网关 MSE,简单的说就是MSE就是遵循开源 Ingress/Gateway API 标准的下一代网关产品,是一个面向业界主流开源微服务生态的一站式微服务平台,提供注册配置中心(原生支持Nacos/ZooKeeper/Eureka)、云原生网关(原生支持Ingress/Envoy)、微服务治理(原生支持Spring Cloud/Dubbo/Sentinel,遵循OpenSergo服务治理规范)的能力,同时集成了阿里云监控日志、安全防护,高可用等方面的功能,可以说在功能上更加全面,操作上更加简便。详细的MSE内容介绍可以参考官方文档:文档 内容写得很全面也很详尽。
MSE测评
产品文档
文档方面,官方文档提供了比较详细的层级清晰的操作文档,对于新手上手操作的话,可以直接参考官方文档的:快速入门 快速入门涵盖了MSE的三大功能场景菜单
比如我现在需要操作的是云原生网关,对于新手可能不太知道该如何去在控制台配置才可以达到想要的效果,那么官方文档中提供的云原生网关配置流程图就很有指导意义了
即使不看云原生网关入门体验的其他操作步骤,也可以基于这张配置流程图完成云原生网关MSE整体从新建网关到最后配置路由的整体操作,文档内容很详细,操作步骤也比较明白。另外云原生网关MSE以托管的方式来作为流量入口,除了支持多种服务发现方式(比如容器服务、MSE Nacos、MSE ZooKeeper、ECS和域名),同时支持除了HTTP以外的其他多种协议,比如(gRPC和WebSocket等多种协议)对于其他协议的云原生网关的配置也提供了相应的文档操作说明:基于云原生网关实现WebSocket服务的转发基于云原生网关实现gRPC服务的路由转发
产品能力
产品能力上面,云原生网关MSE相较于传统网关就更是优势明显了,从日常运维的角度来说,传统开源Nginx配置起来往往比较费劲,比如这样的
每增加一个项目就需要配置相应的内容,手动更改配置文件,风险比较大,改出问题也不好排查,很不方便。另外Nginx中用到的域名也需要自己配置域名解析,再一次增加了配置出风险的可能。Nginx服务需要自行维护,功能单一,Nginx配置参数也需要自行调试至合适的参数,无法配置监控告警以及路由转发防护,如果需要配置路由级限流策略,配置又比较复杂,操作难度大。而云原生网关MSE从成本、稳定性、安全性、易用性、扩展性等多个方面较传统开源Nginx能力强大,且不存在以上遇到的问题。同时支持多种类型插件服务,助力云原生网关MSE提供更优质的服务,详细内容可以参考官方文档:云原生网关场景
产品控制台
云原生网关MSE控制台和其他阿里云产品控制台界面UI以及操作习惯上基本一致,不会有不适应感。另外就是控制台相关操作有详细的功能操作步骤文档,在控制台操作上没有问题的。这里有一点个人操作不太适应,建议可以考虑优化,就是调整一下控制台菜单的位置
个人觉得顺序调整为 1 2 3 4 5 6 的话,从操作习惯上来说,先看概述,然后进行云原生网关操作、注册配置中心、治理中心这样的操作顺序会更流畅一些。
MSE与其他网关
在日常工作中用到的网关的基本都是开源的,比如Nginx、Spring Cloud Gateway,相比开源网关,云原生网关MSE在以下方面相当有优势:
在运维方面:云原生网关MSE无需自己搭建网关服务,可以直接投入使用,而开源网关的话需要自己部署服务,浪费服务器资源,且需要投入人力运维保障,成本相对较高;在发生问题时,受限于运维人员技术能力,排查解决问题时间耗时较久;
在稳定性方面:云原生网关MSE支持故障自动检测及恢复,同时支持与Prometheus、SLS、链路追踪深度集成,提供丰富的仪表盘及Service级别的监控数据,支持自定义告警规则及钉钉、电话、短信等告警渠道,便于排查异常集群;而开源网关由于没有相关的故障检测及恢复机制,或者是故障检测恢复机制操作比较复杂,且不能提供有效的告警信息,需要自行部署搭建告警服务,进一步增大成本开支;
在操作方面:云原生网关MSE支持全链路流量控制,默认集成Sentinel,提供路由级细粒度限流降级策略,不修改任何业务代码,即可实现限流降级能力,同时支持K8s、Nacos、Zookeeper、DNS、固定IP以及阿里云的EDAS、SAE等多种服务发现方式,操作上配置难度低,操作方便;而开源网关在服务上支持的较少,仅支持K8s或者Nacos、Zookeeper,另外配置上通过配置文件方式,配置难度大,容易出错,操作不方便;
在安全方面:云原生网关MSE内置WAF防护功能,同时提供JWT、OAuth等多种认证鉴权手段、路由级黑白名单,并支持安全插件;而开源网关的话则需要自行配置,且配置步骤繁杂,配置难度大。
在价格方面:云原生网关MSE在价格方面相较于开源网关需要投入服务器,投入人力资源维护,投入服务器资源监控来说,成本节约明显。
需要改进方面:对于云原生网关MSE,个人之前试用过,后续试用到期后便不能试用了,希望官方后续可以提供每个月一定量的测试资源,这样方面更多的开发者可以加入进来共同为云原生网关MSE的体验和发展贡献力量。