本文已由 Apache EventMesh 公众号转载,ALC Beijing 和 ALC Shenzhen 转发:我与 EventMesh 共赴盛会:CommunityOverCode Asia 2023 回顾
今年的 Apache 软件基金会亚洲峰会改名了。在参加会议前,我还是愿意用 “ApacheCon Asia 2023” 来称呼它,似乎只有这样才能让人知道,你参加的是 Apache 的会议。在提笔写下这段感想时,我突然想通了,“CommunityOverCode Asia 2023” 的这个名字,已经深入我的内心。
无所谓 Apache 字眼存在与否,因为只有 Apache 才能做出这样的 Community。
要说我收获最大的是什么,那必然是 18 号第一天晚上的这场讲师宴了。议题的干货也很重要,但绝对比不上这场晚宴带给我的自信和决心。
第一天上午,我听着 Keynote 会场,低着头回味各个赞助商发放的特色小礼品,整理被塞得满满当当的背包和帆布袋。
唯一空手而归的展位是微众开源的,在那里我一眼认出了桌上最后一件印着 EventMesh 的 T 恤,也被贺繁一眼认出是 EventMesh 的开发者。可惜这一件似乎仅供展示,M 码的我也穿不上。Major_He 很热情,说会寄给我一件,还将我称为核心开发者介绍给了身边的同事。于是我内心狂喜表面镇静地将自己的邮寄地址发给了贺繁。
抬起头看大屏幕上的同声传译,机翻质量有些糟糕,突然就听不懂了,遂还是低下头去。那时的我绝对想不到,晚上能与贺繁和陈老板跑去长安街逛一遭。
第一天中午,还没换上讲师 T 恤时,我坐着想了五分钟,下定决心准备好”May you be so kind as to join a photograph with me?” 的台词,去找 Justin 合了影,应该是全场最速吧。
那时的我绝对想不到,晚上的我会因为英语口语最好,半自告奋勇半被怂恿地上台,约 Craig 和 Rich 与 EventMesh 社区的大家合影。等到第三天的时候,我已经可以轻松自在地将 EventMesh 的 L 码的 T 恤赠予 Justin 了(因为 M 码的穿不下)。
第一天下午,和我的 GLCC 课题导师薛炜明坐在一起听 Pulsar。我拘谨礼貌地认真听讲,却发现暂时没有什么技术点,“沉稳” 地对着酒店的白纸与明哥写写画画,从我对 EventMesh 的内部需求,到双双掏出笔记本电脑解决仓库 DockerHub 密钥的加密。
明哥在他小小的 MBP 屏幕上打开了数十个标签页,每个标签页都被挤得只剩个 favicon。我吐槽了一句,“这标签页也太多了”。
他欣然一笑,“是吧?” 然后切到多任务,三个满满当当的浏览器,“我还有!(笑)”
那时的我绝对想不到,到晚上吃饭时,能被明哥调侃称赞精力充沛:“(对陈老板)你看他的提交时间就知道了 ——(转头向我)每次我要睡觉了,你的(commit)邮件就叮叮咚咚地发过来了”。
也正是从这里开始,我的话题有了导向:作为全场最年轻的与会者,我没有一桌 Leader 开口动辄 “我十几年前是做什么业务” 的经验,但我有联想实习 965 的时间,和愈来愈盛的对 EventMesh 的满腔热爱。
当我被问到 “如果你能在联想实习转正,你会留下来吗?” 的时候,我不假思索地回答道:
“我会!因为这样我才有时间搞开源”
大家笑得很开心,然后仿佛每个人都思考了一下自己。
在他们眼里,我的唯一优势,也是最大优势,就是年轻。虽然我看他们也很年轻,眉飞色舞,神采飞扬,是我多年后想成为的样子,但我的导师薛炜明都已经有白发了。
正如会前我所请教的一位腾讯 PM 所说,“害,年轻人就是这点不好,总是惶恐”。我能和他们坐在同一张餐桌上,就是一种进步。
我认识到了许多大佬,除了微众的三位 Apache EventMesh PPMC 之外,还有来自各个互联网公司的 Leader 们,比如帮我确定 Offset Manager 及其对应的集群架构的华为云中间件团队负责人王海军老师,他总是谦虚自己以前是做手机的;
比如光看 T 恤就向他的 360 数科同事介绍我是 EventMesh 的讲师的 githublaohu,他总是拉着我帮他推进 PR(我会携着你的设计思想走下去的);
比如午餐时遇到了字节 Flink 团队的小伙伴,还有每一场议题都倾囊相授的讲师们。
写这篇博客,多少是有些想要展示这张合照的意愿、记录一次邂逅:
说回大会的干货上。第一天下午,明哥中途离开之后,我再抬起头来,就已经听不懂了。就是这张 PPT:
很尴尬,我到现在还是看不懂。只能等一个月之后放出的录播了。能看懂的小伙伴留个评论好吗,我会给你点个赞的。
但在这之后的议题,我就都能听懂了,绝大部分。
在此之前,我想出了一大堆诸如 Kafka 准确定位 offset 及 offset 存储位置、微服务无状态水平扩展、Doris 实时同步分布式数据库异构数据以供实时报表分析之类的问题,拷打我的同事。在这之后,我就几乎没有再问了,因为没有空。
这些议题一下子就让我求知若渴起来了,陌生的名词会立刻谷歌,力求以最快的速度理解这个概念,以免影响后续的理解。
《Deep Dive the replication protocol in Kafka》这一场讲的真的特别好,来自台湾的 Luke Chen 老师用最直白的数组深入浅出地讲解了 ISR (In-Sync Replica) 的种种 Corner Case 及其应对机制,让我感受到了 Red Hat Engineer 的魅力。
同事听到我这么高的评价,说 “估计年底能看录屏”。我回复,“回头我讲给你听😁”。是的,回到公司后,我就把学到的东西全都捉住并分享给了同事们。
听的真的很开心,越听越带劲,越听越有精神。哪怕晚上只睡了 6 个小时,挤了一个小时的北京地铁早高峰,来到会场也能轻松立刻进入活跃思考。
这也带来了我的好心情,茶歇时间吃吃点心,喝杯咖啡和红茶,坐下来接着听。
当别的老哥是这种状态的时候:
我是这样的:
别的丑照我就不放了,有人感兴趣的话可以去图片直播里找。我很不理解为什么那么多人,非要逮着我拍长焦大头特写。
19 号下午 RPC / Service Mesh 会场的议题几乎被 Dubbo 占领了,厅又小,一开始都被人塞满了。但是到最后慢慢的就人少了,只剩下几个人。
我从头听到尾,结束后出品人刘军将唯一一个印着 Dubbo Logo 的电脑包送给了我。(我当时只觉着类皮革的质感很好,没想到回去一搜吊牌可以值回大半票价。)
《RocketMQ 百万队列能力支持 – RocksDB kv 存储》这一场让我看到了阿里的研发实力,对一个消息队列的优化都已经深入到数据库了。赵福建讲师非常自信,让我一个不太懂数据库底层原理的 Java 开发都听得津津有味。(虽然中途和坐在身边的王海军轻声嘀咕了一句听不太懂,他也表示同感,被坐在前一排的出品人听见了,对我俩表示了关心🤣然后我就立刻去搜了几个概念,接下来也如鱼得水了)
《小米 RocketMQ 的降本增效和容灾实践》对多集群节点多活、跨 AZ 数据多活和双机房自动切流的三种消息队列集群架构的优缺点做了很好的分析;《云原生消息流系统 Apache RocketMQ 在腾讯云的大规模生产实践》中讲到用子母时间轮代替定时消息的 timer 时,我对这种巧妙的数据结构喜形于色……
在熟悉了几个大厂分享的架构实践之后,不用总结优缺点,几个节点和注册中心在我的脑海里组合一下,再编制一下输入用例,便能清楚其预期行为。
我在听《OpenSergo & Dubbo 微服务治理最佳实践》这一场时,部门领导在微信群里问了一个问题,大概是微服务与 K8s 的充分必要关系。我抄起一张大白纸,画了一张架构图,拍下来发到群里,解答了一连串问题。这张架构图相比场上的分享来说再简单不过,但放在以前的我身上,是没法保证十足的信心的。
新掌握的知识就能学有所用,我的手微微颤抖。
回到公司,数开 Leader 与我约了 GSC DW 新架构的可行性讨论。我要在接下来的一周内想通 Apache Doris 2.0 的落地方案,以逐步减轻 SAP HANA 的存储压力。
不知道为什么,从大会结束的这一天起,我仿佛变了一个人一样 —— 变得对 Coding 更狂热了,完全适应了这种 “白天写业务,晚上写中间件” 的模式。
就像调试模式一样,大脑可以立刻打下断点,灵活地在各项业务中切换思考的上下文。一次编码的连续专注时间可以达到 10 个小时以上 —— 这是根据我上周三从下午一点半一直写到晚上 12 点算的。其实中午吃饭的时候我也在想 Kafka 的 Offset 遍历,思维没被打断,但我怕写 14 个小时以上会被人害怕,所以没算上午的时间。
无暇顾及生活中的其它琐事,甚至肚子也不会饿,凌晨走回家吃上一罐八宝粥就算作晚饭了。我很喜欢这种如若无人之境的状态,它能给我一天充实的利用感。
这个周末也是,除了打磨秋招的简历之外,还要写这篇博客,总结笔记,写千字五百元的 AWS 约稿,实现 Kafka 的管理 API,RabbitMQ 的 BugFix 合并之后提交其余 storage-plugin 的 admin 实现,开会讨论 EventMesh admin 模块的功能和选型,关注 site 仓库三个还没合的 PR 及其合并之后在此基础上的完善…… 这篇博客在我恍惚之间写到了早上五点半,等我再次抬起头时已经天亮了。很有盼头。
25 号周五,我就收到了来自微众和思否的包裹:
其中最期待的就是 EventMesh 的贴纸,我也要把自己的电脑贴成腾讯云的李伟老师这样:
我整场大会最后一位交谈的讲师就是李伟老师,看到负责 RocketMQ 的他贴了 EventMesh 的贴纸,便问了 EventMesh 与 RocketMQ EventBridge 的区别。前者更接近 Service Mesh 的思想。
每每看到这张鼠标垫,都不会忘记自己邂逅 CommunityOverCode Asia 的新鲜感。
穿 Apache T 恤,戴 Apache ShardingSphere 勋章,背 Apache Dubbo 双肩包,贴 Apache EventMesh 贴纸,用 Apache Software Foundation 水杯,垫 CommunityOverCode Asia 桌垫,玩 Apache Doris 飞盘,彻底变成 Apache 人。
能够成为 ALC Shenzhen 社区成员之一,也是令我受宠若惊的。ApacheCon Asia 2021 2022 和 CommunityOverCode Asia 2023 就是由 ALC Beijing 筹办的。2024 年,CommunityOverCode Asia 将来到深圳或杭州,吸引更多本地的开发者。
真的很感谢陈广胜老师送给我的社区内部 VIP 票,带给了我与大家共进晚餐的机会(以及穿上这件帅气的讲师 T 恤)。票很少,候选者很多,微众开源作为大会的白金赞助商之一,将 SPONSOR 票种分散给了更多开源的火种们。我所中选的 GLCC 课题也是由微众开源赞助的,因此无需在 GitLink 平台提交中期考核 PR,而是得以在 GitHub 更好的维护社区。
感谢贺繁那么有心,一回深圳就用顺丰寄来了我一眼相中的、印着 EventMesh Logo 的 T 恤。
感谢姜宁老师为 ALC Beijing 筹办大会付出的种种努力。看过您的董事连任致辞,ApacheCon 从 2021、2022 年的线上走到 2023 年的线下很不容易,也需要更多的厂商赞助支持。回到天津后才意识到忘记领取大会礼包,深夜给您写了邮件,您二话不说就让思否给我寄了过来。
感谢薛炜明导师的悉心教授,是您给了我一点小小的开源震撼,在我心里种下了一颗小小的种子。我才能那么快的融入社区,接手种种事宜。
可以看到我站在最后一排高举着 EventMesh T 恤:
感谢阅读到这里的你,愿意聆听我的故事。