作者:草谷
微服务引擎 MSE 全新发布!新版本带来了一系列令人振奋的特性和改进,让您更轻松、高效地构建和管理微服务应用程序。从快速入门到迁移优化,MSE 为开发人员提供了全方位的支持和解决方案。无论您是刚刚接触微服务还是已经深耕其中,MSE 都将为您带来独特的体验和突破。让我们一同探索 MSE 的全新特性,开启微服务开发的新篇章!
MSE 注重用户体验,我们为您提供了全新的快速入门指南。只需 15 分钟,您就可以轻松了解 MSE 的基本概念和核心功能,体系化认识 MSE,企业可以更加科学、系统地进行微服务架构的评估和选型,提高决策的准确性和成功率,为企业的数字化转型提供强有力的支持。
观看《部署微服务应用》视频演示:https://help.aliyun.com/zh/mse/getting-started/mse-quick-start#f814392035lp6
将引导您部署 Demo 应用 A(consumer)和应用 B(provider)。
观看《微服务查询与配置》视频演示:https://help.aliyun.com/zh/mse/getting-started/mse-quick-start#18c3af7035n4n
观看《对外暴露服务》视频演示:https://help.aliyun.com/zh/mse/getting-started/mse-quick-start#31c97a4035tpd
观看《体验全链路灰度》视频演示:https://help.aliyun.com/zh/mse/getting-started/mse-quick-start#4435f82035lx5
在快速入门的体验中,涉及到注册配置中心,云原生网关,微服务治理,ACK 4 款体验产品,阿里云将提供免费试用活动,让您可以免费体验我们产品!无需支付费用即可尝试我们的核心功能和特性。无论您是个人用户、学生、开发者还是初创企业,都能满足您的需求:
点击链接申请:https://free.aliyun.com/?product=9564559
微服务架构的应用程序已经成为许多企业的首选,然而,随着业务的快速发展和技术的不断演进,微服务架构的迁移却成为一个严峻的挑战。现在,我们为您带来 MSE(Microservices Engine) Sync,这是一款专为微服务迁移而设计的强大工具,让微服务迁移变得轻松自如。
MSE Sync 提供了强大的模型转换功能。它可以自动将 Eureka,Nacos,ZooKeeper 互相转换,您可以大大减少手动重构的工作量,提高迁移效率。
MSE 迁移工具现在具备可视化功能,提供了直观的操作界面,让您可以直接在图形化界面中执行迁移操作,创建和管理迁移任务,为您的迁移过程带来了极大的便利和直观性,同时 MSE Sync 提供支持同步任务数,状态等重要可视化数据。
MSE 将迁移过程划分为清晰的步骤和任务,让您能够按部就班地完成迁移配置的生成。无需繁琐的命令行操作,您只需在直观的界面中完成相应设置和配置。
MSE 提供的微服务迁移工具,已经帮助多个企业顺利迁移上云:
案例一:某教育行业企业
某教育行业企业是一家在线教育机构,专注于中学生在线教育领域,在使用 MSE 之前,自建了一套 Eureka 集群,用于注册中心,由于长期人力运维成本大,技术投入不足,问题无法快速响应解决,基于此原因进行业务改造将自建 Eureka 注册中心成功迁移到 MSE Nacos,迁移过程中使用 MSE Sync 进行自检集群和 MSE 集群的数据同步,迁移过程平滑。
案例二:某物流行业企业
某物流行业企业是一个货运调度平台,专注于公路物流领域,在使用 MSE 之前使用 Eureka 作为注册中心,自建 Eureka 维护成本高,并且经常出现稳定性问题,导致服务不稳定,基于此原因迁移到 MSE,迁移过程中通过 MSE Nacos 支持 Eureka 协议直接通过修改客户端配置迁移到 MSE,通过 MSE Sync,同步自建集群和 MSE 集群的数据,在迁移过程中平滑过度,业务无感。
MSE Ingress 是在 MSE 云原生网关之上提供更为强大的 Ingress 流量管理方式。MSE Ingress 将流量网关、微服务网关和安全网关三合一,兼容 K8s Ingress 标准 API,解决了三层网关架构独立设计和独立运维导致的资源消耗大、性能损耗大、稳定性难控、安全防护复杂等难题。MSE 提供了白屏化迁移工具将自建 Nginx Ingress 迁移至 MSE Ingress,有如下两种迁移方式:
原理:在 MSE Ingress 中复用 ACK 集群中 Nginx Ingress Controller 的 Service 创建的 SLB,MSE Ingress 的节点自动添加到原 SLB 的已有监听的虚拟服务器组中,最终通过设置流量权重完成流量迁移。
在保留原有流量链路可用的前提下完成 MSE Ingress 复用已有 SLB,以及自动同步原有的 Nginx Ingress 规则。最后在验证无误后,逐步切流到 MSE Ingress,整个过程可保留原有流量入口 SLB 不变,不需要变更 DNS 切流。
原理:在 DNS 服务器中对于所有 Nginx Ingress 中关联的业务域名添加 MSE SLB 的解析结果,部分 DNS 服务商提供权重方式控制 Nginx SLB 和 MSE SLB 的流量比。
此次更新将为 ACK(阿里云容器服务)提供全新的微服务治理接入体验升级。提供简化的接入流程,使企业能够更快速、更轻松地将微服务应用接入到 MSE 治理中心,通过几个简单的步骤,即可实现微服务应用的无损上下线,全链路灰度,流量治理等关键功能。
ACK 应用接入的流程主要是安装治理组件 ack-onepilot,MSE 将之前繁琐的手动步骤,集成到一个接入页面中,可以在这里完成接入 ack-onepilot 的一键安装,大大简化了接入流程:
MSE 支持在指定命名空间下开启 MSE 微服务治理后,该命名空间下的 pod 都会接入到 MSE 微服务治理中,您无需再手动逐个接入:
MSE 升级了 MSE 服务自治体系,提供一套全面而灵活的工具和机制,赋予您自主诊断和排查问题的能力,让您能够自主、快速地识别、定位和解决问题,提高系统的稳定性和可靠性。
MSE 统一事件中心,这是一款强大的事件管理工具,可以实时响应和全面掌握您的业务关键事件,高效地监控、处理和分析各种事件,确保业务的高可用性和稳定性。
MSE 事件中心的独特功能和优势:
网关自助排查工具。您可以自助通过错误码,域名,请求路径等多维度线索,快速定位原因,快速定位和解决问题。更高效地解决问题并提高开发效率。排查示例:新创建的服务关联了一条路由,但请求 /get 路由时发现服务无法调通,收到以下返回体:
< HTTP/1.1 503 Service Unavailable
< content-length: 114
< content-type: text/plain
< date: Fri, 11 Aug 2023 08:27:57 GMT
< server: istio-envoy
<
* Connection #0 to host xxx.xxx.xxx.xxx left intact
upstream connect error or disconnect/reset before headers. retried and the latest reset reason: connection failure%
1、进入网关详情页 > 问题排查
2、输入调试时返回的错误码 “503” 和请求路径 “/get” ,查询到了异常请求的记录:
3、发现错误的请求原因是“服务端拒绝连接”,点击详情后看到了对应的解决方案:
通过指引文档检查,发现确实没有为 /get 路由关联的服务进行安全组授权,导致网关无法正常访问到后端服务。
在根据指引完成安全授权后,再次对路由进行调试,得到了正常的状态码 200:
< HTTP/1.1 200 OK
< server: istio-envoy
< date: Fri, 11 Aug 2023 08:39:28 GMT
< content-type: application/json
< content-length: 357
< access-control-allow-origin: *
< access-control-allow-credentials: true
< req-cost-time: 1
< req-arrive-time: 1691743168391
< resp-start-time: 1691743168393
< x-envoy-upstream-service-time: 1
<
在日常开发和生产环境中,可能会遇到由于网络或者其他因素导致客户端连接 MSE 集群出现异常,此时需要排查集群以及客户端状态,通常需要通过文档查询对应的异常解释来定位问题,排查问题的链路比较长,比较耗时。因此 MSE 提供了一键诊断工具,发现 client -> server 链路上的问题并提供建议,使得问题排查更加快捷。
mseutil 支持 ZooKeeper 四字命令,例如可通过以下方式进行四字命令查询 Server 当前状态的摘要:
mseutilzookeeper4 lw--serverAddrmse-xxx.aliyuncs.comstat
mseutil 支持所有的 ZooKeeper 四字命令,可通过 mseuitl zookeeper 4lw -h 查看具体使用。
mseutil 兼容 zkCli,支持对 MSE ZooKeeper 中的数据进行查询和修改。
例如可通过以下命令快捷查询实例中对应 Path 的 Znode 数据:
mseutil zookeeper get--serverAddr=mse-xxxx.aliyuncs.com /zookeeper
类似的 mseutil 还支持(set,delete,ls,stat)等命令通过 mseutil zookeeper -h 获取更多帮助。
mseutil 支持对 Naocs 一键诊断,支持查询基础的实例查询注册功能。
mseutilnacos inspect --serverAddr ${实例连接地址}
查询服务实例列表:
mseutilnacos get instance -n ${namespaceId}-s ${serviceName}-g ${groupName}
注册对应服务的实例:
mseutil nacos create instance :-n ${namespaceId} -s ${serviceName} -g ${groupName} -c ${clusterName}
此外,诊断工具支持 Nacos 1.x 客户端协议和 Nacos 2.x 客户端协议,可通过参数切换:
mseutilnacos get instance -s ${serviceName}--v2
从而可以完全覆盖客户端侧所有基本场景,减少问题定位的成本。
为了满足用户不断增长的需求,MSE 近期将引入 Serverless 领域。这将使 MSE 更加灵活且易于扩展,为企业提供更多选择和支持。
MSE Serverless 版本的开发计划将致力于以下几个关键方面:
MSE Serverless 版本的规划将是我们持续创新和满足用户需求的重要一步。我们相信,通过引入 Serverless 架构,MSE 将为企业带来更加灵活、高效的微服务体验,助力企业在快速变革的数字化时代中保持竞争优势。
敬请期待 MSE Serverless 版本的到来!