前言

工作性质以及好奇心驱使,让我有机会接触到了不少服务框架的开发工作,在微服务框架方面也有多年的开发维护经验,也希望将这些内容和感兴趣的朋友们分享。

微服务框架相关工作

2016年7月毕业后入职腾讯,也经历过几次团队调整,由于团队技术栈的原因,前前后后接触了好几个开发框架,涉及到C++、Java、Go、PHP、JavaScript等多种编程语言。还记得刚开始接触这些框架的时候,一头雾水,好奇心驱使吧,不满足于会用,花了些精力去阅读相关的源码,也算是有所收获。

2018年3月份开始接触Go语言,我们团队内部也开始逐渐使用Go语言,过程中针对团队现状,也从0到1的开发了一个微服务框架GoNeat,团队上百人使用、线上部署了2K+的服务实例。结合脚手架工具,以及高效快速地问题响应,在团队的研发效率提升上也发挥了一定的作用。因为这些,获得了2019年5月刊"公司级代码文华奖银奖""部门级传道解惑奖"。

2019年7月份开始,和其他团队的一些同事共同参与了公司级微服务框架的建设,自己也是作为最早的一批架构设计者、核心开发、PMC成员,为新框架的建设建言献策、贡献代码,现在已经有不少团队在使用了,截止笔者写这篇文章时(2021.3),统计已经有近14000+服务实例线上稳定运行了,也算是得到了公司各个BG、团队的认可,现在还在推广中。

现在2024年,基于trpc开发的服务数量再创新高,各语言版本加起来已经去到6w+了。

为什么分享这方面内容

应该,绝大多数开发者,都极少有机会去从0到1的开发一个微服务框架,并且长期投入人力、精力去维护,这个跟大家从事的岗位、机遇有关。我当时的技术leader,刚好是一个技术精湛又乐于帮助团队成员成长的好领导,我才能在工作的过程中有时间、精力长期地去做这方面的事情。而这正是我感兴趣的一个领域,感激。

过程中,也学习到很多经验,也总结了不少教训,现在梳理一下做个分享,希望感兴趣的朋友们也能从中获得一点收获吧。由于个人水平有限,如果有理解不对的地方,也欢迎指正。

在我刚开始做框架类工作时,我觉得它是一个相对来说门槛比较高的事情。尽管确实如此,在这方面工作多年之后,我更倾向于把它当作是一个基础技术层面的工作,它应该被沉淀,也应该被发现,对个人的定位则渐渐向“服务者角色”转变。

已是2024年,也该尽快完成一个初稿了 :) 就当作是总结吧,如果读者也觉得有所帮助,那就再好不过了!

您的支持是我持续创作的动力

results matching ""

    No results matching ""