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

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

一、 云计算加速开源创新

 

过去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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4天前
|
监控 安全 Cloud Native
云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
「微服务安全零信任架构」主题技术沙龙将于4月13日在北京阿里中心举行,欢迎报名!~
云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
|
4天前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
259 2
|
4天前
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
4天前
|
弹性计算 Cloud Native 安全
云原生架构的未来展望:如何引领企业转型与创新
【5月更文挑战第7天】随着云计算技术的不断发展,云原生架构已经成为企业数字化转型的关键驱动力。本文将深入探讨云原生架构的优势、挑战以及未来发展趋势,为企业提供一种全新的技术视角,以实现更高效、灵活和可扩展的业务运营。
|
4天前
|
边缘计算 运维 Cloud Native
未来云计算:走向云原生时代的技术革新
传统的云计算已经成为企业IT架构的基石,但随着云原生技术的兴起,未来云计算将迎来更加深刻的变革。本文探讨了云原生技术对于云计算的革新意义,以及未来云原生时代的技术发展趋势。
20 1
|
4天前
|
运维 Kubernetes API
探索OpenNetEasyCloud:一款创新的云计算解决方案
OpenNetEasyCloud是一个基于微服务的开源云计算平台,利用Kubernetes和Docker实现容器编排和应用部署,提供RESTful API进行集成与自定义。采用Vue.js和Element UI打造用户友好的界面,支持虚拟机管理、存储服务、网络服务和监控告警功能。其特点是开源、易用、高可扩展、安全,并拥有活跃的社区支持。适合企业和开发者构建私有云环境,提升运维效率。[阅读原文](https://blog.csdn.net/gitblog_00041/article/details/137366836)
28 1
|
4天前
|
存储 监控 API
【云原生系列】云计算概念与架构设计介绍
**云计算**是基于互联网的计算模式,通过共享计算资源(如服务器、存储、应用程序)提供高效、可扩展、可靠、安全和经济的服务。其架构通常包括**物理层**(服务器、存储、网络设备等基础设施)、**虚拟化层**(虚拟机、容器、虚拟网络等)、**平台层**(开发、运行时、数据库服务等)和**应用层**(企业应用、Web应用、移动应用)。云计算服务有IaaS、PaaS和SaaS,广泛应用于企业IT、开发测试、大数据处理、AI和远程办公等领域。为了确保性能和可靠性,云平台采用负载均衡、自动伸缩、备份恢复、安全措施和监控故障排除等方法。
31 1
|
4天前
|
边缘计算 安全 量子技术
《云计算的未来:驱动企业创新的关键技术》
本文探讨了云计算如何成为当代企业创新和竞争力提升的核心驱动力。在介绍云计算的基本概念和发展历程的基础上,文章重点分析了云计算在企业中的具体应用,如资源弹性管理、成本优化以及促进远程工作的流行。通过探索云计算在不同行业中的应用实例,我们不仅能更好地理解这一技术的实际影响,还能洞察未来技术发展的潜在趋势。此外,文章还讨论了云计算面临的安全挑战和解决策略,为企业如何高效、安全地利用云计算提供策略建议。
24 6
|
4天前
|
运维 Kubernetes Cloud Native
云上创新丨羽绒服上云、云生暖意,波司登云原生化探索
上云不是一个简单更换服务器的行为,而是架构重组的过程。
云上创新丨羽绒服上云、云生暖意,波司登云原生化探索
|
4天前
|
Cloud Native 安全 微服务
云原生开源沙龙北京站火热报名中丨微服务安全零信任架构
云原生开源沙龙北京站火热报名中丨微服务安全零信任架构。

热门文章

最新文章