IoTDB Committer+Ratis PMC Member:“两全其美”的秘诀是?

news2024/11/26 22:31:56

IoTDB & Ratis 双向深耕!

还记得一年前我们采访过拥有 IoTDB 核心研发+ Ratis Committer “双重身份”的社区成员宋子阳吗?(点此阅读)

我们高兴地发现,一年后,他在两个项目都更进一步,已成为 Apache IoTDB Committer + Ratis PMC Member!

时隔一年的追踪采访,再来了解一下这位始终坚持、积极贡献的社区优秀同学的体会:

0fee9bdc4b217ae502477f1df3c42aa9.jpeg

宋子阳

大家好,我是宋子阳,目前是清华大学软件学院研究生二年级学生,主要感兴趣的方向是分布式系统和共识协议。我热爱开源社区,从 2021 年底就开始参与开源社区的贡献,到现在已经 3 年了。

关于 Apache IoTDB

还是先来简单说说你和 IoTDB 的缘分吧?

在本科阶段,我就对数据库、操作系统等基础软件产生了浓厚的兴趣。在大三保研时,我坚定了投身于数据库内核研发的理想,也借保研的机会了解到清华大学软件学院和 Apache IoTDB 工业时序数据库。在这个过程中我被 IoTDB 的技术领先性、性能优势和广泛的应用场景深深吸引,迫切地想成为其中的一份子,于是就加入到了 IoTDB 的发展迭代里来。

我在 Apache IoTDB 中主要负责高可用共识模块。当前的 Apache IoTDB 的分布式版本当中支持了三种不同的共识协议算法,其中囊括了 Raft 协议,不仅能够提供强一致性保障,同时可以保障集群内部元数据和时序数据的高可用性。在精心的设计和持续的优化下,IoTDB 在保证数据架构的高可用、高可靠的同时,以优越的吞吐性能和较低的时延损失获得了数据的强一致性

距离上次的采访也经过一年多了,说说这段时间里你在 IoTDB 的新建树和新收获吧?

在这段时间里,我开始逐渐跳出 Ratis 甚至是共识协议的范畴,开始以一种更高的、更全面、更系统的角度参与到 IoTDB 的贡献中。去年年初我参与到了 Ratis 和可观测性的集成中,感受到了可观测性对于系统内核的深远帮助。去年年末我参与到了 Region 迁移的设计,在保持功能性和稳定性的条件下继续打磨共识协议的 snapshot 传输能力。今年开始我参与到了负载均衡模块的设计。这些工作不但让我更加了解 IoTDB,也让我在一个大系统的视角里持续优化贡献共识协议,完成了 IoTDB-Ratis 社区的“飞轮效应”提升。万事开头难,但随着努力再努力,进步也就越来越快了。

是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?

主要有三个原因:

社区成员们非常友好,无论是新手还是有经验的开发者,大家都乐于分享知识和经验,互相帮助。这种包容和支持的氛围促使我愿意长期投身于项目中。

同时,Apache IoTDB 项目为我提供了一个挑战自我、实现技术突破的平台。通过解决实际问题、参与复杂功能的开发,我不仅提升了自己的技术能力,还积累了宝贵的实践经验。

最后是责任感。积极参与项目的开发和维护工作,确保项目的质量和稳定性,开发出能用、好用、管用的软件是我们清华软院学子的追求。

之前采访时,你还是 Ratis Committer,现在也已经是 PMC Member 了,是如何完成的这一转变呢?

从 Committer 向 PMC Member 的转变,基于的是我们不断向 Ratis 贡献的 Patches,也体现了 Ratis 社区对我们的信任和支持。这段时间里,我主导了 Ratis 社区的部分决策,包括发版、Tickets、公告,Ratis 社区也为支持我们做了大量的工作,包括为我们的发版专门加班加点赶了许多PR。

在未来,两个社区会继续加深合作,我们会不断把我们在 IoT 领域的工作和优化点贡献给 Ratis,也让 Ratis 变成一个更加适合处理 IoT 领域数据的 Raft 共识协议。

关于开源社区

你觉得开源社区对 Apache IoTDB 的“加成”是?

开源社区通过广泛的传播和推广,让更多的潜在用户和贡献者了解到 Apache IoTDB。开放的贡献机制为全球开发者和用户提供了平等的参与机会,他们可以提交代码、撰写文档、报告问题和提出改进建议。社区成员因对技术和创新的共同追求而聚集,形成了一个协作网络,共同致力于优化和完善 IoTDB。通过快速响应用户反馈、修复问题、开发新功能和分享知识,开源社区不断推动 IoTDB 项目前进,使其成为一个更加优秀的时序数据库系统。

有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?

欢迎加入 Apache IoTDB 社区!作为新手,不要害怕提问,大家都是很耐心的人,愿意帮助你解决疑惑。社区提倡知识共享和合作,你的问题和想法都是宝贵的。可以从一些简单的 issue 开始,比如修复小 bug 或完善文档,这不仅能让你快速上手项目,还能逐步积累经验和信心。通过这些初步的贡献,你将熟悉项目结构和开发流程,为后续参与更复杂的任务打下基础。期待你的积极参与,让我们一起把 IoTDB 变得更好!

成为 Committer 的感言!

成为 Apache IoTDB 的 committer 是一段令人难忘的旅程。我深感荣幸,感谢社区给予的信任和支持。回顾这段历程,社区温暖的氛围、强烈的责任感以及对卓越的追求是我坚持不懈的动力源泉。每一次解决问题、每一次代码提交,都让我感受到技术进步带来的成就感和满足感。我见证了项目的成长,也从中收获了宝贵的经验和友谊。未来我会继续致力于 IoTDB 项目的高可用共识模块领域,在自己擅长的方面提供力量,为开源铸就独特而辉煌的下一篇章!

28751e43d0edaa624d1f142b8a462126.gif

e0613e05498a06f99fbc4bfe1e9bd4e9.jpeg

e7eee179a3304a173336e4bef67bc8c0.jpeg

e70a0e5cb0a9d43bc4ee46fb28a5d750.jpeg

ba72a63b3c0d0f4f681c83669471ef4d.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1875094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MapReduce学习

目录 7.3 MapReduce工作流程 7.3.1 工作流程概述 7.3.2 MapReduce各个执行阶段 7.3.3 Shuffle过程详解 1. Shuffle过程简介(过程分为Map端的操作和Reduce端的操作) 2、Map端的Shuffle过程: 3、在Reduce端的Shuffle过程 7.4 实例分析&am…

Drag Select Compose:实现多平台图片多选功能的利器

Drag Select Compose:实现多平台图片多选功能的利器 在现代移动应用开发中,图片多选功能是一个常见且实用的需求。而实现这种功能可能涉及到复杂的手势处理和状态管理。今天,我将介绍一款强大的Compose多平台库——Drag Select Compose,它能够轻松实现类似于Google Photos…

[推荐]有安全一点的网贷大数据信用查询网站吗?

在互联网金融日益发展的今天,网贷大数据查询网站成为了许多人申贷前的必备工具。随着使用这些网站的人群越来越多,安全问题也逐渐浮出水面。最近,就有许多用户反馈自己的个人信息在网贷大数据查询网站上被泄露。为了解决这一问题,…

日立EX-PROII+系列全新升级,智慧随心控畅享新生活

随着科技的进步,各种智能家电也开始走入人们的生活,而在这个领域,日立用技术创新生活,不断为新时代注入活力,推出日立 EX-PROII系列家用净化中央空调,贯彻“小身材,大能量”核心设计理念&#x…

STM32第十一课:ADC采集光照

文章目录 需求一、ADC概要二、实现流程1.开时钟,分频,配IO2.配置ADC工作模式3.配置通道4.复位校准5.数值的获取 三、需求的实现总结 需求 通过ADC转换实现光照亮度的数字化测量,最后将实时测量的结果打印在串口上。 一、ADC概要 ADC全称是A…

小柴冲刺软考中级嵌入式系统设计师系列一、计算机系统基础知识(1)嵌入式计算机系统概述

flechazohttps://www.zhihu.com/people/jiu_sheng 小柴冲刺嵌入式系统设计师系列总目录https://blog.csdn.net/qianshang52013/article/details/139975720?spm1001.2014.3001.5501 根据IEEE(国际电气电子工程师协会)的定义,嵌入式系统是&q…

lvs+上一章的内容

书接上回这次加了个keepalived 一、集群与分布式 1.1 集群介绍 **集群(Cluster)**是将多台计算机组合成一个系统,以解决特定问题的计算机集合。集群系统可以分为以下三种类型: **LB(Load Balancing,负载…

rtthread stm32h743的使用(十一)spi设备使用

我们要在rtthread studio 开发环境中建立stm32h743xih6芯片的工程。我们使用一块stm32h743及fpga的核心板完成相关实验,核心板如图: 1.建立新工程,选择相应的芯片型号及debug引脚及调试器 2.编译下载,可以看到串口打印正常 3.…

SOAP vs REST介绍

SOAP(简单对象访问协议) 定义:SOAP是一种基于XML的通信协议,用于在网络中交换结构化信息,特别是在分布式环境和需要中介(如网关或防火墙)的环境中。它通过HTTP、SMTP等多种传输协议传输信息&…

APP项目测试 之 APP功能测试

1. APP测试流程 需求评审——计划编写——用例设计——用例执行——缺陷管理——测试报告 2. APP测试内容 功能测试 专项测试 性能测试 3.注册测试点扩充 4.登录测试点扩充 5.购物车测试点扩充 6.搜索测试点扩充 7.支付测试点扩充 8.评论测试点扩充 未完待续。…

Java校园跑腿小程序校园代买帮忙外卖源码社区外卖源码

🔥校园跑腿与外卖源码揭秘🔥 🚀 引言:为何需要校园跑腿与外卖源码? 在快节奏的校园生活里,学生们对于便捷、高效的服务需求日益增长。校园跑腿和外卖服务成为了解决这一需求的热门选择。然而,…

新版周易测算系统源码 去授权完美运行

已经去掉授权可以完美运行 更新了三个模板市面上都是几千几千的卖 更新了三套首页新ui 自己后台切换就行 源码大小:338M 源码下载:https://download.csdn.net/download/m0_66047725/89447857 更多资源下载:关注我.

深入解析Android的Sound Trigger中间件架构

深入解析Android的Sound Trigger中间件架构 在现代移动设备中,应用程序对声音事件的检测需求越来越多,如热词检测和背景音乐识别等。为了实现低功耗和隐私敏感的声音事件检测,Android引入了Sound Trigger中间件。本文将详细介绍Sound Trigger的架构、工作原理以及其在不同层…

JavaWeb——MySQL:事务的简单学习

前面学习完了数据库增删查改的SQL语言,约束,数据库设计,以及多表查询,再学完事务就达到初级工程师的水平了。 6. 事务 6.1 概念 事务类似于编程语言的方法,包含一组SQL指令。 事务是不可分割的; 该指令步…

十四、Maven(2)

🌻🌻目录 一、maven项目的目录结构?---约定二、在创建maven项目的时候三、依赖四、依赖的传递性五、依赖的排除性六、继承---项目结构的设计七、聚合---项目的设计方式 一、maven项目的目录结构?—约定 Maven是自动化构建工具&am…

java用pdf.js在线预览pdf文件(jeecg框架)

最近在jeecg框架的后台要做一个pdf在线预览的页面功能,可是每次点预览都是下载,所以就要解决这个问题,现在解决了,记录一下,防止后面踩坑。 先放代码: 下面是点“预览”按钮的点击事件,代码放…

算法基础-----【动态规划】

动态规划(待完善) 动规五部曲分别为: 确定dp数组(dp table)以及下标的含义确定递推公式(状态转移公式)dp数组如何初始化确定遍历顺序举例推导dp数组、 动态规划的核心就是递归剪枝(存储键值,…

TS_开发一个项目

目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…

simulink开发stm32,使用中断模块,无法产生中断,其中包括使用timer模块,以及ADC都无法产生中断,需要注意的地方

1,其中包括使用timer模块,以及ADC都无法产生中断,需要注意的地方 原来是需要在配置文件里开启一下timer的中断,其他模块自动加载ioc就可以了,这个timer需要注意力,需要自己勾选一下 如下图: 看…

Android简介-历史、API等级与体系结构

1. Android简介 Android是一种基于Linux内核的自由及开放源代码的操作系统。最初是由安迪鲁宾(Andy Rubin)开发的一款相机操作系统。2005年8月被Google收购。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。…