中间件技术及双十一实践·中间件总体介绍

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介:

中间件总体介绍

阿里巴巴中间件与稳定性平台团队,是一个给业务应用团队以提供低成本,高可用,可扩展的弹性互联网系统解决方案为己任的技术团队,前身是成立于7年之前的淘宝平台架构部,而后随着业务领域,尤其是针对性能和稳定性技术领域的成功探索与突破,目前已经发展为一个涵盖消息通信,数据处理,性能优化和稳定性等各类技术的互联网架构服务平台。他成功地支持了包括淘宝,天猫,阿里云,小微金融等众多兄弟bu的业务与技术需求。在2013年的双11狂欢节中,中间件与稳定性平台团队也再一次站在了前排,与其他团队一起,为了“让天下没有难做的生意”贡献了自己的一份力量。

中间件与稳定性平台团队,是国内为数不多的极具技术挑战性的团队之一,依托于全球规模最大的阿里巴巴电子商务平台所带来的巨大流量和海量数据,以及对于电子商务平台固有的稳定性要求,使得团队有机会去面对一个又一个技术难题,创造一个又一个技术奇迹。从整体来看,中间件与稳定性平台的技术体系可以分为软负载配置、分布式服务框架、消息中间件、数据访问层、应用服务器和稳定性平台等。

中间件整体技术体系

如果我们将整个网站看成是一个大工厂,每个业务逻辑单元(Business Unit)看成是工厂内完成单个工序的车间,那么中间件就是能够让所有车间发挥出最大生产效率的各类支持性部门。

软负载系统(Software Load Balancing),通过软件系统解决请求的均衡负载。相对于F5或者LVS这些负载设备,软负载系统有以下特点:无中心化,成本更低,效率更高,功能更强。在解决长连接的负载均衡场景上,软负载系统可以做到长连接中的每个请求包级别的负载均衡,最大程度的优化资源的使用。

Java的运行时容器(Java Container和Web Server),主要为用户提供了软件库版本隔离和依赖升级推送的功能,就像是这家工厂的厂房,每个车间都要配备自己最趁手的工具,不同车间的工具如果相互共享使用,很容易出现螺丝找不到螺母的时候,从而造成生产停滞,因此,每个车间都应该有他们自己所需要的专用工具,并且要保证工具永远维持在最趁手的状态,才能让我们的工厂发挥出最理想的效能。

远程方法调用(RPC),传统意义上也被称为SOA,主要为用户提供了远程调用和服务治理的功能,他们能够让应用方将原来的整套业务逻辑拆分到不同的机器中运行。就像是车间之间的传送带,能够将各个车间的生产结合到一起,促进了分工合作,从而提升了生产效率。

消息系统(MQ),主要为用户提供了发送通知的功能,让一些非核心流程可以并行执行。 他们就像一家工厂的电子工单,最终产品一般是由多条生产线一起协作生产出来的:产品的各个部件的生产是完全可以并行的。但最终用户则需要的是包装好的全部产品。这时候就需要工单系统,让整个企业内可以并行生产的部分能够协调一致的进行产品的生产,并最终能够以合适的数量进行成品组装。

分布式存储(Distributed Storage),则主要为用户提供了可无限扩展的数据存储服务。这就像这家工厂的仓库,能否按照实际的需要,做到仓库的自动化运维和管理,按需扩展和收缩,是仓库运维管理中最为重要的挑战。

分布式调用跟踪系统(Distributed Tracing)通过收集和分析在不同中间件上网络调用的日志埋点,可以得到同一次请求上的各个系统的调用链关系,有助于梳理应用的请求入口与服务的调用来源、依赖关系,同时,也对分析系统调用瓶颈、估算链路容量、快速定位异常有很大帮助。

持续稳定性平台(Continue Stable Platform)是一个平台化的产品,涉及依赖治理、容量规划、实时监控和降级管理等多个领域 ,致力为阿里巴巴的各个系统提供稳定的数据和工具支持。

在本文后面的章节中,我们将依次概要介绍这些中间件和稳定产品,并以双11大促作为契机,为大家介绍那些我们在双11中使用的技术手段以及优化案例,与大家一起重新经历那些激动又紧张的日日夜夜。

相关文章
|
7月前
|
中间件 程序员 开发工具
Django实践-08中间件的应用
Django实践-08中间件的应用
Django实践-08中间件的应用
|
3月前
|
消息中间件 存储 RocketMQ
消息中间件-RocketMQ技术(二)
消息中间件-RocketMQ技术(二)
|
3月前
|
消息中间件 存储 中间件
消息中间件-RocketMQ技术(一)
消息中间件-RocketMQ技术(一)
|
4月前
|
存储 中间件 PHP
Python编程入门:从零到一的代码实践深入理解 PHP 中的中间件模式
【8月更文挑战第28天】本文旨在通过浅显易懂的方式,向初学者介绍Python编程的基础知识,并结合具体代码示例,带领读者一步步实现从零基础到能够独立编写简单程序的转变。文章将围绕Python语言的核心概念进行讲解,并通过实例展示如何应用这些概念解决实际问题。无论你是编程新手还是希望扩展技能的专业人士,这篇文章都将为你打开编程世界的大门。 【8月更文挑战第28天】在PHP的世界中,设计模式是构建可维护和可扩展软件的重要工具。本文将通过浅显易懂的语言和生动的比喻,带领读者深入理解中间件模式如何在PHP应用中发挥魔力,实现请求处理的高效管理。我们将一步步揭开中间件的神秘面纱,从它的定义、工作原理到
|
5月前
|
JSON 中间件 数据处理
实践出真知:通过项目学习Python Web框架的路由与中间件设计
【7月更文挑战第19天】探索Python Web开发,掌握Flask或Django的关键在于理解路由和中间件。路由连接URL与功能,如Flask中@app.route()定义请求响应路径。中间件在请求处理前后执行,提供扩展功能,如日志、认证。通过实践项目,不仅学习理论,还能提升构建高效Web应用的能力。示例代码展示路由定义及模拟中间件行为,强调动手实践的重要性。
60 1
|
5月前
|
设计模式 中间件 测试技术
PHP中的中间件模式解析与实践
【7月更文挑战第11天】在现代Web开发中,中间件模式已成为设计高效、可维护应用程序的关键。本文深入探讨了PHP环境下中间件模式的实现方法,并提供了一个实际示例来演示如何利用中间件优化请求处理流程。
43 1
|
5月前
|
运维 中间件 PHP
深入理解PHP中的中间件模式自动化运维之脚本编程实践##
【7月更文挑战第31天】在PHP开发中,中间件模式是一种强大的设计模式,它允许开发者在请求处理流程中注入自定义的处理逻辑。本文将通过实际代码示例来探讨如何在PHP项目中实现和使用中间件,以及这种模式如何提升应用程序的可维护性和扩展性。 【7月更文挑战第31天】 在现代IT运维管理中,自动化不再是可选项,而是提高生产效率、确保服务质量的必需品。本文将通过Python脚本编程的角度,探讨如何利用代码简化日常运维任务,提升工作效率。我们将从实际案例出发,逐步剖析自动化脚本的设计思路、实现过程及其带来的益处。 ##
30 0
|
消息中间件 运维 Kubernetes
带你读《云原生架构白皮书2022新版》——云原生中间件
带你读《云原生架构白皮书2022新版》——云原生中间件
700 11
|
7月前
|
数据采集 消息中间件 Oracle
通过流计算与消息中间件实现Oracle到ADB的实时数据同步链路优化实践
介绍基于流计算与消息中间件链路(Oracle->OGG->DataHub->Flink/Blink->ADB)实现的Oracle到ADB的数据实时同步架构潜在问题及处理方案。
235 0
通过流计算与消息中间件实现Oracle到ADB的实时数据同步链路优化实践
|
开发框架 前端开发 Java
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示(二)
java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
194 4