云原生微服务的下一站,微服务引擎 MSE 重磅升级

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 管好微服务,成为云原生时代的新难题。

管好微服务,成为云原生时代的新难题。


从建好微服务到管好微服务,差的虽是一个字,连接起两边的却需要大量的微服务落地经验。因为软件架构的核心挑战是解决业务快速增长带来的系统复杂性问题,而微服务将应用进行解耦的过程中,服务和服务之间的调用和依赖关系也变得愈加复杂,关系越复杂、小的技术问题越可能被放大,造成大的线上故障。而容器和 Kubernetes 为代表技术的云原生时代,则加重了其中的复杂程度。

近日,阿里云微服务引擎 MSE(以下简称 MSE)升级 3 大核心能力,在管好微服务应用上提供了更高效的实践和更全面的保障。


直播发布会回顾:https://developer.aliyun.com/topic/microservice


发布微服务治理企业版



在原有基础版、专业版之上,MSE 推出了微服务治理企业版,提供微服务应用以及常用网关的流量管控与容错能力,从流量控制、并发控制、熔断降级、自适应保护、热点防控等多个维度来保障业务的稳定性,帮助用户很好地应对流量激增或是服务依赖不稳定问题。


在微服务网关层,比如 Zuul,Spring CloudGateway,用户可设置规则进行入口流量防护。在应用层,可进行接口级粒度的防护,支持单机限流、集群限流、分钟小时限流多种限流方式。除了大流量的冲击,第三方服务出现问题时,有时会导致接口响应时间变长,线程资源无法释放等问题。用户可以针对弱依赖接口配置熔断规则,达到不稳定条件时自动熔断。对于非关键接口可提前主动降级,从而避免单点服务异常导致整体不可用。另外流量防护支持自适应系统保护,可根据 CPU、LOAD 等系统资源指标,设定系统保护规则,防止雪崩。同时也可以对自动识别出来的慢 SQL 语句配置隔离规则,限制其并发执行数,防止数据库连接池被打满而影响正常调用。


企业版还支持 QPS、响应时间、异常、CPU/load 等指标的秒级监控能力,并针对这些指标提供提供了机器维度、接口维度、集群维度的秒级流量水位分布的分析功能,方便用户监控防护效果并指导规则配置。


另外,服务治理中心还增加了应用配置能力,帮助用户动态管理代码中的配置项,可使用在多种业务场景中。一是在业务逻辑预埋功能开关,例如动态开启某个促销活动、将某些耗时操作降级等;二是无须应用重启即能调整应用操作级别,比如线上修改日志级别,指定 A/B Test 路径,线程池配置等;三是 List、Map 等复杂类型的结构化内容推送,如定时推送大促商品名单,统一发送优惠卷客户名单等。




基础版、专业版、企业版的价格如下:


更多关于 3 个版本的差异点,可访问:https://help.aliyun.com/document_detail/333528.html


开源服务治理规范和实现 OpenSergo

微服务治理是管好微服务过程中不可避免要解决的难题,但是业内普遍存在以下痛点:


  • 理解和沟通成本高:业界对微服务治理的能力和边界没有明确的认识,每个企业所定义的服务治理概念都不一致,造成很高的理解和沟通成本。
  • 缺少标准化的约定:开源微服务框架众多,例如 Spring Cloud 中定义的微服务接口和 Dubbo 中定义的接口就没有办法互通,Go、Java 有不同的体系和认知。
  • 缺少面向业务的抽象和标准:对业务开发来说,不仅需要了解不同微服务框架的部署架构,也要了解不同服务治理方式的概念和区别。


而 OpenSergo 是由 bilibili、字节跳动以及 Spring Cloud Alibaba、Nacos、Apache Dubbo/dubbo go 社区共同发起,是一套微服务治理的规范和实现,要解决的是不同框架、不同语言在微服务治理上的概念碎片化、无法互通的问题。例如,如何标准化地进行服务注册和发现,服务的元信息格式如何统一等等。


OpenSergo @GithHub:github.com/opensergo/opensergo-specification

OpenSergo 提供的能力可以从管控面、数据面、Spec 3 个维度去看:


  • 控制面:用户可以通过 CRD 或者 Dashboard 的方式查看、修改服务治理配置,并将这些管控信息下发到数据面。
  • 数据面:JavaAgent、Servcie Mesh、各个接入 OpenSergo 的微服务框架都能够接收到服务治理配置,并应用到当前的业务流量中。
  • OpenSergo Spec:Spec 规定了控制面和数据面的通信约定,确保用户使用一种 Spec 即可描述不同框架、不同协议、不同语言的微服务架构,让开发者不再需要关注底层差异。



下一代网关-云原生网关再升级


网关分为流量网关与业务网关,流量网关主要提供全局性的、与后端业务无关的策略配置,例如阿里内部的的统一接入网关 Tengine 就是典型的流量网关;业务网关顾名思义主要提供独立业务域级别的、与后端业务紧耦合策略配置,随着应用架构模式从单体演进到现在的分布式微服务,业务网关也有了新的叫法 - 微服务网关。

但在容器和 Kubernetes 主导的云原生时代,Ingress 成为 Kubernetes 生态的网关标准,流量网关 + 微服务网关合二为一。将两层网关变为一层,不仅可以节省 50%的资源成本,还可以降低运维及使用成本。


MSE 提供的云原生网关再次升级核心能力,包括无缝支持 Nginx Ingress 注解转换、支持 Waf 本地防护、支持插件市场、支持 HTTP 转 Dubbo。以无缝支持 Nginx Ingress 注解转换为例,MSE Ingress Controller 通过 List-Watch 机制获取关联的 ACK 集群中 Ingress 资源的变化,然后以热更新的方式动态更新 MSE 云原生网关的路由规则。当 MSE 云原生网关收到请求时,匹配 Ingress 转发规则转发请求到后端 Service 所对应的 Pod。




相比 Nginx Ingress Controller,MSE Ingress Controller 是以热更新的方式秒级生效监听到的 Ingress 资源,这种无需重启数据面即可生效配置的方式大大提高了集群入口网关的稳定性,有效保障了业务流量无损。更重要的是,MSE Ingress Controller 可以进行多集群管理,即同时作为多个集群的入口网关,意味着可以同时监听多个集群中的 Ingress 资源,解决用户跨 Kubernetes 集群流量调度和流量治理问题。


除了 MSE 这类微服务半托管的产品外,本次升级发布会中,也分享了 MSE+SAE 的全托管方案的优势和特色,并结合 Serverless 技术,进一步提升了计算资源的利用率,低门槛容器化改造和转型 Kubernetes


MSE 面向 ZooKeeper、Nacos、Consul、Envoy 等开源项目提供商业化增强,服务斯凯奇、来电科技、玩心不止、禾连健康、万师傅、云货优选、上海三菱、Salesforce 中国等企业,已成为国内云上客户首选的微服务平台之一。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 04 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
6天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第6天】 在数字化转型的浪潮中,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了如何利用Kubernetes这一领先的容器编排平台,结合微服务架构,构建和维护高效、可伸缩的云原生应用。通过分析现代软件设计原则和最佳实践,我们提出了一个综合指南,旨在帮助开发者和系统架构师优化云资源配置,提高部署流程的自动化水平,并确保系统的高可用性。
28 1
|
11天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用构建高效微服务架构:后端开发的新范式
【4月更文挑战第30天】 随着企业加速其数字化进程,云原生架构已成为支撑复杂、可伸缩和灵活应用的骨干。本文探讨了云原生技术的崛起,重点分析了其在促进业务敏捷性、提高运营效率及推动创新方面的核心价值。通过深入剖析云原生生态系统的关键技术组件,如容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,揭示了企业如何利用这些技术来构建和维护高度可用且动态的IT环境。文章还提出了一个多维度的采纳框架,帮助企业评估和实施云原生解决方案,以实现真正的业务价值。 【4月更文挑战第30天】在现代软件开发的快速演变中,微服务架构已经成为一种领先的设计模式,用于构建可扩展、灵活且容错的应用程序。与传
|
12天前
|
运维 Kubernetes Cloud Native
构建未来:云原生架构下的微服务治理
【4月更文挑战第30天】 在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性和容错性成为企业IT战略的核心。本文深入探讨了如何通过云原生架构实现微服务的高效治理,包括服务发现、配置管理、流量控制和故障处理等关键方面。我们将展示一系列最佳实践和工具选择,以帮助企业构建一个既可靠又灵活的服务网格,确保业务连续性并加速创新步伐。
|
15天前
|
消息中间件 监控 微服务
【专栏】随着技术发展,未来将探索服务网格、容器化和云原生技术,以提升微服务架构的效能
【4月更文挑战第27天】本文探讨了构建高效微服务架构的后端开发最佳实践。微服务以服务独立、去中心化、自治和轻量级通信为核心原则,带来可扩展性、独立性、技术灵活性和团队协作优势。实践中,要注意服务拆分粒度、选择合适的通信协议(如RESTful、RPC、消息队列)、处理数据一致性与分布式事务、实施服务治理和监控,以及确保安全性与权限控制。随着技术发展,未来将探索服务网格、容器化和云原生技术,以提升微服务架构的效能。
|
17天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:容器化与微服务架构的融合
【4月更文挑战第24天】 随着云计算的不断演进,云原生技术已成为企业数字化转型的核心动力。本文深入探讨了如何通过容器化技术和微服务架构的融合,构建高效、可扩展且易于管理的云原生应用。我们分析了容器化带来的隔离性和可移植性优势,以及微服务架构在提升系统灵活性和促进团队协作方面的重要作用。文章还提供了实施策略,包括选择合适的容器平台、确保服务间通信的安全性以及持续集成/持续部署(CI/CD)的实践,以帮助企业实现敏捷开发和快速迭代。
|
23天前
|
Kubernetes Cloud Native Go
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)(下)
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)
60 0
|
23天前
|
Cloud Native 算法 Go
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)(上)
《Go 简易速速上手小册》第10章:微服务与云原生应用(2024 最新版)
68 0
|
3天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
1天前
|
存储 NoSQL MongoDB
【MongoDB 专栏】MongoDB 与微服务架构的结合
【5月更文挑战第11天】微服务架构流行趋势下,选择合适的数据库至关重要。MongoDB作为非关系型数据库,与微服务有天然契合度。其灵活的文档模型、水平扩展性、高性能及局部事务支持,满足微服务对数据模型多样性、高可用性、快速读写的需求。实践中,需注意数据划分、索引优化、监控调优和版本控制。未来,MongoDB在微服务中的应用将更广泛,新技术将提升其在微服务架构中的价值。
【MongoDB 专栏】MongoDB 与微服务架构的结合

相关产品

  • 微服务引擎