乐趣区

关于rpc:被喷了聊聊我开源的RPC框架那些事

前段时间利用业余时间写了一个简略的 RPC 框架,破费了不少精力。开源进去之后,少部分不太敌对的技术人站在上帝视角说了风凉话。就很好受,兄弟,谁还没有一个玻璃心。

简略吐槽一波,给大家聊聊对于 guide-rpc-framework 的一些事件。

01 我的自定义 RPC 框架近况

关注我的大部分小伙伴应该都晓得,3 个月前,我利用业余时间手写一个简略的 RPC 框架(玩具),名字叫做 guide-rpc-framework。

目前的话,这个我的项目曾经有 0.5k 的 star。感激小伙伴们的反对!

写这个 RPC 框架的次要目标是为了集体学习,开源进去的目标次要是想帮忙到更多人。

02 开源的魅力

开源进去之后,大部小伙伴都是比较支持的,有很多小伙伴都参加了进来一起欠缺。

这里点名褒扬一下 Github 用户名为 sakuragi1111smile2coder 这两位老哥。

sakuragi1111 这位老哥通过参考 Dubbo 源码实现了 SPI 机制。

smile2coder 这位老哥为 guide-rpc-framework 增加了通过注解实现服务生产的性能。

目前的话,guide-rpc-framework 曾经反对通过注解进行服务生产和注册。

程序世界,什么样的人都有,有人感激你,也会有人贬斥你。

03 不那么好的声音

在我的 guide-rpc-framework 开源之后,也常常会受到像:“你有本事别用现成的框架写一个啊?”、“你这个写的一点亮点都没有,有啥意思?”、“都有了 Dubbo 之后,为啥还要本人写一个?”、“反复造轮子没意义”…… 之类的不太友善的话语。

说句心里话,个别说进去这种话的人往往技术水平很低。

如果,你指出我哪里写的不好,我很乐意地去批改。然而,你站在上帝视角说着风凉话,那就是人品有问题了。

1. 为什么不能利用现成的框架呢?(比方为啥不必 JDK NIO 而用 Netty?)

毫不夸大地说:开源进去的货色,就是整体技术人独特的财产。

Netty 比 NIO 更好用、更欠缺,我为啥还要间接应用 NIO 呢?咱们平时常常接触的 Dubbo、RocketMQ、Elasticsearch、gRPC 等等都用到了 Netty 啊。

2. 你这个写的一点亮点都没有,有啥意思?

有能耐的话,你也能够本人写一个。说出此类的话的人,往往是有及其嫉妒心理的人。而且,RPC 框架自身就曾经有很多比拟成熟的例子了比方 Dubbo。说实话,Dubbo 根本是已近把 RPC 框架能思考到的点都思考到了。

我不信你一个人,无能过人家一个团队好多年的成绩。

3. 都有了 Dubbo 之后,为啥还要本人写一个?

肯定要学会看 README!!!

我在我的项目的 README 中明确阐明了:写这个 RPC 框架次要是为了通过造轮子的形式来学习,测验本人对于本人所把握的常识的使用。

4. 反复造轮子没意义

咱们理论我的项目开发中是比拟禁忌造轮子的,然而,理论学习过程中造轮子相对是最本人百利而无一害的!

我的 RPC 框架必定是无奈和 Dubbo 这类曾经这么成熟的等量齐观。然而,在本人去写 RPC 框架的时候,更加加深了本人对于 RPC 框架的意识。实现的过程中,遇到了很多问题,解决问题的过程中也进步了本人的编程能力。总而言之,造轮子是一种特地可能进步本人零碎编程能力的伎俩。

04 拥抱开源

开源相对是编程畛域最美好的事件之一,大幅提高了咱们的生产力。

没事就去开源社区比方 Github 或者 Gitee 逛逛,在这里你能够 get 到各种好货色。

你能够在 Github 分享很多货色,你的学习笔记、本人做的实战我的项目、本人造的轮子 ……(资源类的不太举荐,太容易侵权)。

尽管,当初 Github 被很多人单纯玩成了引流工具。然而,整体来说 Github 整体技术环境和气氛还是很不错的!

另外,最好的话是要给我的项目弄一个英文版本,我的项目代码中的正文最好也要是英文的。毕竟是开源,最好是能准守开源精力应用世界通用语言(这一点我本人也没做好,反思!)。

如果你想让本人的开源我的项目被更多人晓得的话,你能够在上面技术平台宣传(不宣传的话,开源的货色很难被他人晓得,不要让好货色被湮没):

如果有帮忙的话,不要悭吝你们手中的在看和赞!“怼”起来!

以上 4 本优质 原创 PDF 微信搜“JavaGuide”后盾回复“面试突击”即可收费支付。

退出移动版