看云栖说云栖—— 互联网江湖的生存之道

简介: 早晚会用到的阿里云互联网中间件

出来混,总要还的!
——《无间道2》

流控、熔断、降级、容错都是任何一个互联网应用的必修课,对于任何一个互联网企业来说,或早或晚,这些核心科技都必须要掌握。这次继续探讨行癫所讲的“核心技术的互联网化”。本文部分内容取自2019杭州云栖大会《互联网中间件专场》、《高可用架构专场》。

上一篇《看云栖说云栖 —— 容器、云原生、微服务》的最后,提到了为配合微服务在Kubernetes上的落地,阿里云有很多的产品可供集成,这些产品中有一些就是阿里云自研的“互联网核心技术”。

  • 日志服务SLS、阿里自研的和ELK类似的日志服务。
  • 应用实时监控ARMS、解决各种应用和前端监控问题。
  • 链路追踪、解决服务间复杂调用依赖关系的性能诊断问题。
  • 微服务引擎MSE、解决微服务的注册和订阅问题。
  • 企业级分布式应用EDAS、一个微服务托管平台。
  • 应用高可用AHAS服务、流量管理和架构感知。
  • 应用配置管理ACM、集中化配置中心。

除此以外,还包括但不限于:

  • 消息队列服务MQ、面向互联网场景的消息队列服务。
  • 全局事务服务GTS、解决分布式场景下的事务一致性问题。
  • 云服务总线CSB、主要对组织外部提供应用网关服务。
  • 压力测试服务PTS、开箱即用的分布式压力测试服务。

在《互联网中间件专场》阿里云智能中间件首席架构师的《互联网中间件的演进》中将中间件的发展分成了如下几个阶段:

  • 单体计算、1960s,在一台计算机上运行全部业务。
  • 集群计算、1970s,通过计算节点和存储节点的扩展实现业务的横向扩展。
  • 分布式计算、1980s,把大规模的业务系统按领域划分,从而实现业务的横向扩展。
  • 互联网中间件、2010s,帮助业务应对双十一级别的大规模并发请求。
  • 云计算时代、走向何方?

阿里巴巴的这些互联网核心技术大多都是从近十年的双十一大促活动中锤炼积累出来的,这些核心技术的每一项都对应着阿里踩过的“坑”,在国内做互联网业务,或早或晚,这些“坑”都会碰到。到那时,阿里的这些核心技术就成了一些企业成功爬出来的基础,反正用或者不用,它就在那里。

在《高可用架构专场》阿里云资深专家的《面向失败设计》中,提到以下这些有关失败的场景:

  • 硬件问题
  • 软件BUG
  • 配置变更错误
  • 系统恶化
  • 超预期流量
  • 外部攻击
  • 依赖库问题
  • 依赖服务问题

为了防止这些失败,可以有如下这些手段:

  • 容灾、核心思想是基于隔离的冗余
  • 服务能力与依赖调用自我保护、典型手段包括流量控制、熔断降级、系统保护、热点防控等。
  • 为一切不可预料的情况做好预案、包括事前准备、日常的沉淀及仿真演练、事中的统一指挥和协同作战、事后的统一分析汇总改进。
  • 自动化运维、从完全的人肉运维到依托工具的自动化、到最终依赖数据智能指标体系的自动化。
  • 精细化的监控体系、建立业务层、应用层、容器层、主机层的分层监控体系。
  • 故障与攻防演练锤炼容灾应急能力、通过计划梳理测试用例、执行故障注入、观察监控日志业务效果、记录容灾、监控、业务结果的有效性和正确性、事后分析的闭环来反复锤炼容灾应急能力。

在《智能化压测——应用稳定性基石》,阿里云智能技术专家爆出了一些历年双十一的“家丑”。

  • 2009年,交易和商品系统挂了,很多商家的外部图片空间压挂了服务器容量,网络带宽容量,系统保护都没有。
  • 2010年,零点峰值出现了大量的购买失败,但是服务器没有大面积宕机。
  • 2011年,临时通知所有有问题的商家下架商品沟通会,商家对双十一的最大期望:系统稳定。
  • 2012年,系统超卖问题,0点系统显示交易成功率不到50%,各种系统报错。

之所有出现这种情况是因为当时大家都是基于单个系统的容量预估方式备战双十一,而单个系统的ready并不能代表全局的ready。此后,阿里开始使用贯穿全业务链路的方式来对系统进行整体的全链路压力测试。

为了能够对线上正在运行的系统进行压测而又不污染数据,阿里云全链路压测实现了前端压测流量可识别、压测流量识别后可传递、应用业务系统兼容和识别压测流量、压测数据和业务数据分别存储

阿里云全链路压测服务目前已经服务于整个阿里经济体,并开始对外以PTS服务的形式对外部客户提供服务,目前已经成功应用在包括中国平安、中国人寿、逻辑思维、懂球帝、CCTV、联通、蜻蜓FM等客户身上。

下一步,PTS准备推出无人值守的智能压测,实现压测流量的智能构造、压测过程中的自动调速、压测结果的智能分析。

目录
相关文章
|
5月前
|
人工智能 机器人 数据挖掘
AI如何真正落地企业研发?一整套解决方案
AI时代,企业落地难?常见困境:场景不明、规划缺失、能力不足、流于尝试。我们提供AI咨询规划、企业内训、智能工作流、智能体开发(含AI测试)等一站式服务,助力企业系统化构建AI能力,真正将AI融入研发与业务流程,释放生产力价值。
|
2月前
|
Java API Maven
Maven多模块项目拆分实战:从50万行单体到独立模块的演进
本文基于一个 50 万行代码的电商单体项目拆分经历,讲解 Maven 多模块项目的完整搭建过程。从模块划分原则、父 POM 设计、循环依赖破解到编译部署优化,给出可直接复用的配置模板和踩坑总结。
|
5月前
|
存储 人工智能 NoSQL
拒绝“Demo 级”架构:基于 SAE × SLS 构建 Dify 高可用生产底座
聚焦 Dify 规模化落地的运维复杂与计算瓶颈,提出阿里云 SAE×SLS 联合方案,助力企业专注 AI 业务创新。
|
6月前
|
弹性计算 网络安全 数据安全/隐私保护
2026年阿里云幻兽帕鲁一键快速部署教程,轻松搭建专属联机服务器!
2026年《幻兽帕鲁》热度不减!阿里云推出“一键部署”专属联机服务器,零基础用户几分钟即可搭建低延迟、可自定义规则的私人服,告别公共服卡顿与限制。含详细图文教程与常见问题解答,轻松实现帕鲁自由冒险!
659 3
|
7月前
|
机器学习/深度学习 数据采集 人工智能
【前沿观察】金加德讲师:2026,AI应用元年——技术人如何跨越“模型”与“落地”的鸿沟,跟随时代脚步?
2026年,AI迈入“应用元年”,技术重心从大模型转向智能体落地。金加德讲师指出,推理成本骤降、交互范式重构与确定性逻辑回归推动AI进入工业化时代。Prompt工程让位于Agent系统设计,Coze与Python成核心工具。个人竞争力在于掌握“胶水语言”、架构思维与领域知识。未来属于能定义问题、构建系统的“数字造物主”。
547 1
#j计算机组成原理# chapter 3 系统总线(下)
#j计算机组成原理# chapter 3 系统总线
795 0
#j计算机组成原理# chapter 3 系统总线(下)
Threejs鼠标点击场景对象获取对象信息,Threejs使用Raycaster拾取对象信息
Threejs鼠标点击场景对象获取对象信息,Threejs使用Raycaster拾取对象信息
998 0
Threejs鼠标点击场景对象获取对象信息,Threejs使用Raycaster拾取对象信息
|
IDE NoSQL 前端开发
C语言学习——IDE软件Code::Blocks教程
C语言学习——IDE软件Code::Blocks教程
1725 0
C语言学习——IDE软件Code::Blocks教程
|
机器学习/深度学习
一文深度解读模型评估方法
我们训练学习好的模型,通过客观地评估模型性能,才能更好实际运用决策。模型评估主要有:预测误差情况、拟合程度、模型稳定性等方面。还有一些场景对于模型预测速度(吞吐量)、计算资源耗用量、可解释性等也会有要求,这里不做展开。
|
Java Maven Spring
最详细的 Spring Boot 多模块开发与排坑指南(上)
最详细的 Spring Boot 多模块开发与排坑指南
1248 0
最详细的 Spring Boot 多模块开发与排坑指南(上)