《云计算加速开源创新》——云原生背景下消息领域的一次重新定义(上)

简介: 《云计算加速开源创新》——云原生背景下消息领域的一次重新定义(上)

一、 云计算加速开源创新

 

过去20年伴随着互联网、云计算的快速发展,开源技术迎来一波波浪潮。如下图能看到开源项目的投资量在逐年上涨,在消费互联网时代,互联网业务爆发式增长激发了第一波开源浪潮;进入产业互联网时代,云计算蓬勃发展引领了第二波开源浪潮。

 

在数字时代,开源和云计算的兴起都有着共同的底层逻辑,就是通过变革生产关系来提高软件行业生产力。开源改变了软件开发模式,通过开源社区建设能够快速获取开发者的需求反馈,同时流行的开源项目能吸引数百数千个开发者协同开发共建,使得开源软件迭代速度极大提高。开源也打破了技术烟囱,促成了软件的标准化,标准化又进一步提升了产业协同效率。

 

云计算则是改变了软件交付方式,让基础设施、基础软件服务化,客户开箱即用,按量付费,为企业数字化降本提效,加速了数字经济的进程。

 

image.png

 

如同新能源带来了汽车行业的变革,云计算也为开源基础软件带来技术创新机会。越来越多的开源软件采用云原生架构、释放云计算红利,带来技术竞争力新突破:

 

第一个是弹性

 

云计算提供弹性的计算、存储、网络能力,基础软件应实现弹性架构,和云的弹性算力无缝结合,释放弹性红利。

 

第二个是成本

 

云基础设施层基于软硬结合技术深度优化,达到最优成本。基础软件应将更多的能力下沉到基础设施层,如充分利用云存储重构存储模块,释放低成本红利。

 

第三个是高可用

 

云计算提供全球多region、多可用区的基础设施,基础软件应具备数据、状态多可用区同步的能力,释放全局高可用能力。

 

image.png

 

二、 Apache RocketMQ发展史

 

接下来我们以RocketMQ为例,聊聊云计算如何加速RocketMQ的创新。先来回顾Apache RocketMQ过去十年的发展历程,可分为“诞生于互联网”与“成长于云计算”两大阶段。

 

第一个阶段是RocketMQ的从0到1,在阿里内部规模化落地。2012年,为了支撑超大规模电商互联网架构,阿里中间件研发了RocketMQ,并在产品诞生初期开源,2017年RocketMQ统一了阿里消息技术体系。

 

第二个阶段是云计算。2015年RocketMQ上云,这也是业界首个提供公共云SaaS形态的开源消息队列。2016年,阿里把RocketMQ捐赠给Apache,17年孵化毕业,成为国内首个TLP的互联网中间件。

 

在云计算和开源双轮驱动下,RocketMQ在阿里外部完成全面规模化,帮助千行百业完成数字化转型,产品能力也得到进一步的飞跃。2022年5.0正式发布,Apache RocketMQ正式迈进云原生时代。

 

image.png

 

三、 互联网场景下Apache RocketMQ核心优势

 

面向大规模电商和金融场景,Apache RocketMQ打造了四个核心优势

 

第一个优势能力是支撑超大规模复杂业务的能力,具备丰富的消息特性。

 

每个大型互联网公司都会有主营业务(比如阿里的交易、蚂蚁的支付、饿了么的外卖),以主营业务为中心扩展业务能力,阿里电商就是围绕交易事件建设的电商操作系统,每笔交易事件都会触发不同的业务,不同细分业务会关注不同类型的交易事件,比如垂直市场只关注某个类目的交易事件、天猫超市只关注某个卖家的交易事件、购物车只关注下单成功的交易事件等,RocketMQ的SQL订阅提供最灵活的消息过滤能力,能够满足下游消费者按照不同的业务维度进行消息过滤的诉求。

 

除了主营业务之外,大型互联网公司还会快速迭代多样化创新业务,对于消息队列来说会产生大量的小流量topic,RocketMQ具备单机万级topic的能力,能够最大化资源利用率提供多租服务。在大型互联网业务中,还会有各种定时事件触发场景,最典型的是交易超时关闭机制,阿里交易或者12306订票都有类似的机制。RMQ的定时消息,能够很方便的满足这类诉求。

 

第二个优势能力是一致性,无论是阿里交易、还是蚂蚁支付都天然对数据一致性有着极高的要求,RocketMQ在一致性方面也打造了多个关键特性。

 

最具代表性的是分布式事务消息,RocketMQ是第一个实现这种特性的消息队列,这个特性能够保障交易的上下游对于订单状态达到最终一致。这个方案也成为异步消息一致性方案的事实标准,被多个互联网公司所采纳,甚至也有公司把他移植到定制版的Kafka。除了分布式一致性之外,在一些场景有顺序一致性的需求,比如分库分表产生的异构数据库复制场景。比如淘宝买卖家库的数据复制,RocketMQ可以严格按照顺序将源库的binlog分发到目标库进行数据重放,从而达到不同业务维度下数据一致性。

 

在互联网高并发流量下,应用会大量使用缓存技术,除了集中式的缓存服务之外,应用还会增加本地缓存进一步加速,RocketMQ的广播消息能够把缓存失效广播给应用的所有机器,实现分布式本地缓存的一致性。

 

第三个优势能力是稳定性。

 

这是交易和金融场景的根本,稳定性是个系统工程,RocketMQ不仅具备核心的HA能力,还提供了全方位的稳定性保障,比如自适应拉模式,避免慢消费者被打垮,真正实现削峰填谷;消息轨迹,业界第一个自带消息级别可观测能力的消息队列,用户可以精准定位,快速排查线上问题;消息回溯、消息死信机制,为业务bug或数据问题导致消费失败,提供了多样化的稳定性兜底手段。

 

第四个优势能力是高性能

 

在双十一的极限流量下,RocketMQ写消息延迟4个9在1ms内,100%在100ms内;RocketMQ采用share-nothing的分布式架构,在吞吐量方面也具备无限扩展的能力,已经连续10年支持了双十一万亿级消息洪峰,为百万级的应用实例提供低延迟消息服务。

 

image.png

 

在进入云计算时代,RocketMQ面向云原生进行两个方向的演进,向上RocketMQ产品形态演进,更好的支撑云原生应用架构(微服务、EDA、Serverless);向下RocketMQ自身进行云原生架构改造,充分释放云基础设施的弹性能力,全方位提高关键技术指标。

 

image.png 

 

 

四、 云原生时代的Apache RocketMQ产品形态演进

 

接下来我们先看面向云原生应用架构,RocketMQ在产品形态的演进。

 

微服务是云原生应用架构的核心,引入微服务架构,数字化企业能够按照小型化的业务单元和团队划分,以“高内聚、低耦合”的方式高效协作。但是微服务架构也会带来新的问题,比如大量同步微服务会面临延迟增大、可用性降低等风险,引入消息队列建设异步微服务体系,可提高微服务的韧性,降低延迟。

 

在微服务领域已经形成了几个事实标准,比如Spring Cloud体系,Dubbo体系。与此同时下一代的微服务技术也在快速发展中,主要体现在基础设施下沉,比如servicemesh,解耦了业务逻辑和分布式基础设施的实现,两者可以独立灵活演进。基础设施再进一步下沉,则是往serverless的方向演进,服务粒度变得更小,到函数级别;代码开发和运维解耦,开发人员无需关注的应用运维,更多时间专注业务开发。

 

面向微服务的趋势,RocketMQ5.0提供轻量SDK,大量特性实现下沉到服务端,比如消息重试、负载均衡等。轻量SDK对Mesh技术更加友好,RocketMQ的mesh能力现已合入 CNCF Envoy官方社区。轻量SDK采用消息粒度的负载均衡机制,客户端无需绑定队列消费,实现彻底的无状态化,更加匹配了Serverless应用的场景。


更多精彩内容,欢迎观看:

《云计算加速开源创新》——云原生背景下消息领域的一次重新定义(下)https://developer.aliyun.com/article/1224001?groupCode=tech_library

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
26天前
|
Kubernetes Cloud Native 持续交付
云计算的转型之路:云原生技术的崛起与实践####
【10月更文挑战第16天】 本文深入探讨了云原生技术在现代IT架构变革中的核心作用,不同于传统概述,本摘要将聚焦于云原生如何促进企业实现敏捷开发、弹性伸缩及高效运维,通过具体案例分析展现其在实际业务场景中的创新应用,揭示这一技术趋势对企业数字化转型的深远影响。 ####
41 2
|
3月前
|
Cloud Native 安全 网络安全
云计算与网络安全:技术融合与挑战云原生技术在现代软件开发中的应用
【8月更文挑战第28天】在数字时代的浪潮中,云计算和网络安全成为信息技术领域的两大支柱。本文将探讨云计算服务的分类、特点及其面临的安全威胁,分析网络安全的基本概念、重要性以及信息安全的关键要素。同时,文章将深入讨论云计算环境下的网络安全问题,包括数据保护、访问控制和合规性挑战,并提出相应的解决策略和技术措施。最后,通过一个代码示例,展示如何在云计算环境中实现基本的数据加密,以增强信息的安全性。 【8月更文挑战第28天】 随着云计算技术的飞速发展,云原生技术已成为推动软件行业创新的关键力量。本文将深入探讨云原生的核心概念、优势以及如何在现代软件开发中有效利用云原生技术。我们将通过具体案例,展示
|
1月前
|
Cloud Native 持续交付 云计算
云计算的未来:探索云原生技术的崛起与影响
【10月更文挑战第9天】 在当今数字化转型的浪潮中,云计算已成为推动企业创新和效率提升的关键力量。随着技术的进步和市场需求的演变,一种新兴的技术趋势——云原生,正逐渐崭露头角,引领着云计算进入一个全新的发展阶段。本文将深入探讨云原生的概念、核心原则、关键技术以及它如何改变企业的运营模式和业务策略。通过分析云原生技术的优势、挑战和未来趋势,我们将揭示这一技术变革背后的深层含义,以及它如何塑造未来的数字生态系统。
|
1月前
|
Cloud Native 持续交付 云计算
云端新纪元:探索云原生技术的奥秘在当今数字化时代,云计算已成为推动企业创新和增长的关键动力。随着云平台的不断成熟,云原生技术应运而生,以其独特的优势引领着一场新的技术革命。本文将深入探讨云原生的核心概念、主要特点以及它如何改变现代软件开发和部署的方式,为您揭开云原生这一神秘面纱。
云原生是一种构建和运行应用程序的方法,充分利用了云平台的弹性、分布式本质以及声明式基础设施。本文将解析云原生的十二要素,微服务架构的优势,以及容器化、持续集成与持续部署(CI/CD)等核心技术的实践应用。通过深入浅出的方式,让读者理解云原生不仅是一种技术,更是一种文化和方法论,它正在重塑软件开发流程,提高资源利用率和应用系统的可扩展性与容错性。
|
1月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。
|
2月前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
|
3月前
|
运维 监控 Cloud Native
|
3月前
|
Kubernetes Cloud Native 网络安全
云原生入门指南:Kubernetes和容器化技术云计算与网络安全:技术融合的新篇章
【8月更文挑战第30天】在云计算的浪潮中,云原生技术如Kubernetes已成为现代软件部署的核心。本文将引导读者理解云原生的基本概念,探索Kubernetes如何管理容器化应用,并展示如何通过实践加深理解。
|
4月前
|
Cloud Native
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
50 10