当前位置: 首页 > news >正文

Apache基金会总结RocketMQ:中国70%的银行核心业务已采用,国内技术人员贡献明显增多...

Apache生态利用社区建立了一种极其有效的开放式创新Apache Way,旨在通过社区声音、邮件列表以及项目管理委员会完成对Apache产品的快速迭代。 Apache RocketMQ项目管理委员会成员Von Gosling对RocketMQ这款企业级产品在项目和社区上的项目前景进行了分享和介绍,本文通过他的分享也希望读者能更多地参与Apache社区的推广和问题解决。

2018年Von Gosling发表了一篇文章来自非英语国家的社区如何理解并使用Apache方式进行开放式创新,表达了开发人员希望有一个开放的社区环境,善于使用邮件列表,能倾听社区的声音并及时做出响应和决定。本文,Von Gosling通过一些实际的例子分享了一些Apache RocketMQ社区建设和如何协作创新的故事。

Apache RocketMQ前景

Apache RocketMQ最初是用在线电子商务事务处理的分布式消息传递引擎,可以在许多公司的生产环境中进行数十亿甚至数万亿的信息传输。

优点

  • RocketMQ已被证明适用于大规模分布式场景中的高吞吐量、低延迟消息传递系统。
  • Linux Foundation上的标准OpenMessaging项目为云中的分布式消息传递系统提供了一个通用的基准测试平台,Apache RocketMQ是参考的基准之一。
  • 作为一个广泛使用的消息传递引擎,RocketMQ提供了拉动和推送模型,支持预定消息、有序消息、批量消息、广播消息、消息过滤、死信队列(dead-letter Queue)等,几乎支持所有经典事件驱动或流媒体场景。

RocketMQ正在尝试去补充一些还未能在企业级进行支持的核心功能。

新功能

去年,RocketMQ社区宣布了三个有吸引力的功能:事务性消息消息跟踪身份验证和授权

  • 事务性消息保证了发送方和本地业务操作之间的事务一致性。此功能是一个非常有价值的功能,由金融行业的几个人发起和贡献。基于事务性消息,我们可以构建一个全栈分布式事务平台,适用于需要长期运行的微服务。

Apache生态

问题

在采用消息传递机制的企业级应用程序中,始终存在一个令人不安的问题:我的信息发送到哪里了? 消费者接收成功或失败,我如何找到消息历史?这是一项非常困难的任务,特别是当提供云发布/订阅服务时,因为消息传递是一种异步解耦过程,上游和下游相互之间并不了解。

一个例子

幸运的是,中国移动研究院的一些人在Apache RocketMQ Meetup上找到了项目管理委员会(PMC)的成员,并告知了他们碰到的问题。PMC成员向他们推荐了社区中最新的RIP计划,这项计划是Apache RocketMQ内部代码非常有挑战性的一次优化和改进。在PMC成员的帮助下,他们一起补充、讨论并接受了这项改进计划。Von Gosling透露到,经过一段必要的时间规划,RocketMQ开始设计、编码和讨论,交换代码并实现细节。其中包括几个聚会,聚集在一起讨论和审查代码,直到后来的在线验证和发布。更有意义的是,在审核过程中,来自社区的另一个云供应商还参加了进来。通过简单的视频通信,最初的实现被优化并解决了兼容性问题。在社区中,最后的新版本由两家云供应商在生产中进行了验证。通过ACL提供的功能,PMC和社区持续协作,最终发布了RIP计划的最终版本。

社区的工作

通过聚会收集要求,通过公开讨论,再加上使用Zoom的视频通信,RocketMQ社区在去年完成了几个重要的发布。同时,为了更好地促进生态繁荣,还对Apache RocketMQ外部存储库下的几个项目进行了重组(80%以上是在孵化期间由社区贡献的项目)。除了设定里程碑,增加了类似的孵化和毕业机制,进一步降低了社区参与的难度,同时更好地保证了产品质量。今天,已经毕业的几个不同语言的SDK项目来自大量使用和维护的用户,社区的热情甚至超越了想法。它还验证了未来的云架构是独立于语言的,甚至是无服务器的。在这一大趋势下,社区积极参与了RocketMQ多语言生态建设。RocketMQ现在支持java、cpp、python、go、nodejs,其他语言也在计划中。目前的CPP客户端最多可支持8个平台,如CentOS、MacOS、Ubuntu和Windows。

RocketMQ社区

不仅如此,越来越多的社区爱好者也自发地组织起来:他们积极地策划城市车站等类似活动,也需要PMC给予一些关注和鼓励。与此同时,Apache也在思考社区是否应该有类似发布经理一样面向开发人员的角色,比如开发人员关系维护者或项目经理,以便获得更多用户的理解,更多地参与到产品中来。近年来社区的发展也给RocketMQ社区带来了许多新的气象,出现了越来越多的活跃开发者。在最近的大约三个月内,从dev电子邮件列表发送了近2,000封电子邮件。研究表明,中国70%的顶级银行在核心业务链接上使用Apache RocketMQ,大约60%的互联网金融和保险客户在其生产环境中使用RocketMQ,中国20强互联网公司中75%广泛采用经典的pub/sub场景。

最近,RocketMQ社区一直在讨论下一代消息传递平台的开发。Von Gosling表示,RocketMQ希望它会是一个带有轻量级数据处理平台的统一消息传递引擎,并欢迎大家参与其中,告诉PMC您在未来版本的RocketMQ中期待看到哪些功能。

相关文章:

  • 如何在Kubernetes上运行Apache Flink
  • go package包的使用
  • GC参考手册 —— GC 算法(基础篇)
  • java B2B2C Springboot电子商城系统-路由网关(zuul)
  • 我们用5分钟写了一个跨多端项目
  • Ubuntu MATE 推出树莓派版本
  • 【本人秃顶程序员】SpringBoot基础之banner玩法解析
  • 红米6.0系统设备最完美激活Xposed框架的流程
  • 微软宣布Azure Functions正式支持Java
  • 常用网络设备
  • Mysql5.7 - 一键安装脚本
  • 一、python小功能记录——监听键盘事件
  • note_4.10
  • jstl使用中的错误----基于idea
  • python 计算机基础
  • 【刷算法】求1+2+3+...+n
  • 4个实用的微服务测试策略
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • centos安装java运行环境jdk+tomcat
  • FineReport中如何实现自动滚屏效果
  • java8 Stream Pipelines 浅析
  • jdbc就是这么简单
  • LeetCode算法系列_0891_子序列宽度之和
  • Objective-C 中关联引用的概念
  • rc-form之最单纯情况
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue 配置sass、scss全局变量
  • vue2.0项目引入element-ui
  • Vue官网教程学习过程中值得记录的一些事情
  • 基于Android乐音识别(2)
  • 看域名解析域名安全对SEO的影响
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 排序算法之--选择排序
  • 微服务入门【系列视频课程】
  • 微信支付JSAPI,实测!终极方案
  • 温故知新之javascript面向对象
  • 小而合理的前端理论:rscss和rsjs
  • 学习ES6 变量的解构赋值
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $L^p$ 调和函数恒为零
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (待修改)PyG安装步骤
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • ***原理与防范
  • .axf 转化 .bin文件 的方法
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 4.0中的泛型协变和反变
  • .NET 8.0 中有哪些新的变化?
  • .Net Core webapi RestFul 统一接口数据返回格式