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

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

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

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

直播发布会回顾:微服务引擎 MSE_云原生网关_阿里云

发布微服务治理企业版

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

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

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

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

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

更多关于 3 个版本的差异点,可访问:微服务治理版本选型 - 微服务引擎MSE - 阿里云

开源服务治理规范和实现 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. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  2. API 管理在云原生场景下的机遇与挑战

    作者 | 张添翼 来源 | 尔达Erda公众号 ​ 云原生下的机遇和挑战 标准和生态的意义 自从 Kubernetes v1.0 于 2015 年 7 月 21 日发布,CNCF 组织随后建立以来,其 ...

  3. 【Dubbo3终极特性】「云原生三中心架构」带你探索Dubbo3体系下的配置中心和元数据中心、注册中心的原理及开发实战(上)

    Dubb3的应用级服务发现 Dubbo3提供了全新的应用级服务发现模型,该模型在设计与实现上区别于 Dubbo2 的接口级服务发现模型. 概括来说,Dubbo3 引入的应用级服务发现主要有以下优势 适 ...

  4. Re:从 0 开始的微服务架构--(四)如何保障微服务架构下的数据一致性--转

    原文地址:http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台.就像前边的文章说的, ...

  5. 灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟?

    灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟? 历史进入2019年,放眼望去,今天的整个技术大环境和生态都发生了很大的变化.在己亥猪年春节刚刚过去的早春时节,我们来梳理和展望一下整个 ...

  6. “行业客户云原生最佳实践日” 亮相KubeCon上海

    2018年11月13日至15日,由CNCF主办的KubeCon + CloudNativeCon将首次登陆中国上海,这是全球范围内规模最大的Kubernetes和云原生技术盛会. 唯一聚焦客户实践的分 ...

  7. 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图

    破土而出的生命力,源自理想主义者心底对技术的信念. 云原生技术正席卷全球,云原生基金会在去年KubeCon +CloudNativeCon NA的现场宣布: 其正在孵化的项目已达14个,入驻的厂家或产 ...

  8. 云原生网络代理(MOSN)的进化之路

    本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...

  9. 技术分享 | 云原生多模型 NoSQL 概述

    作者 朱建平,TEG/云架构平台部/块与表格存储中心副总监.08年加入腾讯后,承担过对象存储.键值存储,先后负责过KV存储-TSSD.对象存储-TFS等多个存储平台. NoSQL 技术和行业背景 No ...

  10. 快速了解“云原生”(Cloud Native)和前端开发的技术结合点

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 后端视角,结合点就是通过前端流控缓解后端的压力,提升系统响应能力. 从一般意义理解,Cloud Native 是后端应用的事情,要搞的是系统解耦.横 ...

随机推荐

  1. Android Studio虚拟机文件默认C盘转移其他盘

    原文地址:Android Studio虚拟机文件默认C盘转移其他盘 - Stars-One的杂货小窝 某天发现,新创建的Android13模拟器,把我C盘搞得只剩下9G了,于是折腾了下,把模拟器相关文 ...

  2. day13-Servlet03

    Servlet03 11.练习 快捷键-可以快速地在访问的文件件切换 ctrl+alt+向左箭头:回到上次访问的位置 ctrl+alt+向右箭头:回到下一步访问的位置 11.1CatServlet 首 ...

  3. GCC&&G++ C && C++ 内嵌汇编和调用汇编函数的方法(x86,ARM自己对照改)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  4. SQLI-LABS(Less-11、12)

    Less-11(POST-Error Based-Single Quotes-String) 打开Less-11的页面,可以看到一个登录框,需要输入用户名和密码,由本关名字可知SQL语句是单引号闭合. ...

  5. 【Docker】Dockerfile基础知识,相信你一定有所收获

    Dockerfile常用命令 FROM: 继承基础镜像 MAINTAINER:镜像制作作者信息 RUN: 用来执行shell命令 EXPOSE: 暴露端口号 CMD: 启动容器默认执行的命令,会被覆盖 ...

  6. 浅谈ET框架--ECS设计核心(一)

    ET框架的ECS设计核心可以总结为一句话,那就是: 继承转组件,多态转分发 OOP设计里的继承更换为组件Component模式,多态转成分发模式. 框架代码里头的案例: 数值组件挂载Entity上. ...

  7. Kylin Desktop V10部署达梦数据库(DM8)

    1.环境 处理器:飞腾D2000/8 E8C 内存:16GB 系统:银河麒麟桌面版操作系统(国防版)V10 达梦数据库:dm8_20231226_FTarm2000_kylin10_sp1_64 2. ...

  8. OpenHarmony轻松玩转GIF数据渲染

    OpenAtom OpenHarmony(以下简称"OpenHarmony")提供了Image组件支持GIF动图的播放,但是缺乏扩展能力,不支持播放控制等.今天介绍一款三方库--o ...

  9. C++ 虚函数详解:多态性实现原理及其在面向对象编程中的应用

    在面向对象的编程中,多态性是一个非常重要的概念.多态性意味着在不同的上下文中使用同一对象时,可以产生不同的行为.C++是一种面向对象的编程语言,在C++中,虚函数是实现多态性的关键 什么是虚函数 虚函 ...

  10. 深究可见性,原子性,有序性的解决方案之volatile源码解析

    上节java内存模型(jmm)概念初探大致了解了由于cpu的快速发展,导致的越来越复杂的内存模型诞生,java内存模型相当于是底层内存模型的映射(实际并不是一一映射,但可以借鉴理解),也是衍生出并发三 ...