原副标题:Java交换机-从“非主流”开发人员高速成长为Apache世界顶级工程项目的Committer
对个人如是说
我们好,我是 lahmxu(伊萨徐) ,目前主要专门从事物联网行业的应用软件研制组织工作。作为一位非导演系的“非主流”程序员,在科学知识累积上存在一定的缺乏,但我坚信通过持之以恒的努力自学,能达到他们的最终目标。
能成为Apache ShenYu街道社区的核心人物我深感十分高兴和自豪,上面给我们撷取呵呵我参予Apache ShenYu街道社区这几天的高速成长和历经。
PART 1
贝唐Apache ShenYu
最先碰触 ShenYu 交换机是在一个控制技术探讨群中看到 ShenYu 有适宜进阶的单测小各项任务,虽然平常组织工作也会写单测标识符,但在得知街道社区爸爸妈妈都是源自小厂难免有点儿不自信心,害怕写的不是很规范化,好在各项任务无从,就参照自己的标识符依照规范化,不慌不忙地递交了标识符,幸运地的得到了街道社区爸爸妈妈的引导,前面慢慢参予到街道社区中,辨认出街道社区的爸爸妈妈热度还挺高,在重大贡献的过程什么问题,他们单厢冷静答疑,积极主动探讨,而且参予开放源码的同时,还能使得他们自学控制技术,提高代码潜能。
PART 2
开放源码成功之路
初涉街道社区的时候辨认出很多街道社区爸爸妈妈这类专门从事虚拟化或是开发工具相关组织工作的研制,在前述组织工作中都使用到了 ShenYu 交换机,不过我并不具备这样的前提,我还做着销售业务研制,前述组织工作中也没用到 ShenYu 交换机。
因为想自学到新控制技术提高代码潜能和对他们的业余发展的更高要求,后来我就鼓起勇气从文档入手,不会部署那就先从部署开始,本地部署、二进制包部署、docker 部署、k8s部署一个一个来,不会使用就先从启用插件开始,依照文档一步一步配置,一个一个测试请求,直到能流畅的跑起。
后来再挑难一点的各项任务慢慢参予其中,逐步了解到 ShenYu 交换机中的数据同步原理、客户端注册原理、共享线程池的设计等优秀的设计思想,从中学到了不少科学知识,也结识了很多街道社区大佬比如yu199195,qicz,dragon-zhang,YuI,impactCn,lianjunwei,moremind,tuohai666,renzhuyan,JooKS-me,li-keguo,midnight2104,KevinClair(排名不分先后),沟通都比较流畅,感谢你们的指导。
PART 3
重大贡献与收获
• 自学 docker、k8s 相关部署和使用,完成 k8s 部署文档并排查解决脚本在容器中不能正常组织工作的问题
• 熟悉 mqtt 协议解析和处理的流程,完成 mqtt 协议部分的增强和自测
• 自学 tars、sofa 、motan、websocket 等插件的使用,使其支持使用共享线程池和一些问题的优化和修复
• 自学 netty 配置的含义,使得 netty 配置参数实现可配置
• 熟悉单测和集成测试的编写规范化和测试流程,添加部分插件上传文件的示例和集成测试标识符并解决 tars 插件在集成测试中的问题
• 完善 websocket、sofa 等插件和相关部分的文档
PART 4
给重大贡献者新人的建议
• 重大贡献第一个 pr,接下来就会轻松一点
• 找到兴趣点,坚持做下去
• 积极主动拥抱街道社区,一群人会走得更远
PART 5
如何参予
• 首先打开 Github ISSUE 列表,挑选你感兴趣的问题
• 依照街道社区的流程和规范化重大贡献者指南,完成各项任务并递交标识符,成为重大贡献者
• 订阅街道社区邮件,及时感知街道社区最新动态
• 坚持参予街道社区双周会议
• 保持持续地自学和重大贡献,就离 Committer 不远啦~
PART 6
关于 Apache ShenYu
Apache ShenYu 一款使用 Java Reactor 开发的响应式 API 网关。以其高性能,动态灵活的流量管控,热插拔,易部署等特性,开箱即用为用户提供整套全生命周期的 API 交换机,包含 API 注册、服务代理、协议转换与 API 治理等功能。于2022年7月毕业成为Apache世界顶级工程项目。
官网:
https://shenyu.apache.org/
GitHub: https://github.com/apache/shenyu