前段时间利用业余时间写了一个简单的 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”后台回复“面试突击”即可免费领取。

被喷了!聊聊我开源的RPC框架那些事的更多相关文章

  1. 2.Dubbo开源分布式服务框架(JAVA RPC)

    1. Dubbo介绍 Dubbox是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能RPC(即远程调用)实现服务的输出和输入功能, 可以和Spring框架无集成.Dubbo是一款高性能 ...

  2. 微服务,开源 RPC 框架 - Spring Cloud

    Spring Cloud:国外 Pivotal 公司 2014 年对外开源的 RPC 框架,仅支持 Java 语言 Spring Cloud 利用 Spring Boot 特性整合了开源行业中优秀的组 ...

  3. 字节开源RPC框架Kitex的日志库klog源码解读

    前言 这篇文章将着重于分析字节跳动开源的RPC框架Kitex的日志库klog的源码,通过对比Go原生日志库log的实现,探究其作出的改进. 为了平滑学习曲线,我写下了这篇分析Go原生log库的文章,希 ...

  4. 6种微服务RPC框架,你知道几个?

    开源 RPC 框架有哪些呢? 一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的. 跟语言平台绑定的开源 RPC 框架主要有下面几种. Dubbo:国内最早开源的 RPC 框架,由阿里巴 ...

  5. 6 种微服务 RPC 框架,你知道几个?

    开源 RPC 框架有哪些呢? 一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的. 跟语言平台绑定的开源 RPC 框架主要有下面几种. Dubbo:国内最早开源的 RPC 框架,由阿里巴 ...

  6. Dobbo的继任者?试用微博RPC框架Motan

    从14年开始就陆续看到新浪微博RPC框架Motan的介绍,时隔两年后,微博团队终于宣布开源轻量级RPC框架Motan,项目地址: https://github.com/weibocom/motan/ ...

  7. abelkhan中的rpc框架

    rpc简介:http://www.ibm.com/developerworks/cn/aix/library/au-rpc_programming/index.html 常见的rpc框架有protob ...

  8. 服务化实战之 dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型

    转自: http://blog.csdn.net/liubenlong007/article/details/54692241 概述 前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺 ...

  9. FW:主流RPC框架

    主流RPC框架  2015年10月27日  zman  RPC 介绍目前在互联网公司比较流行的开源的RPC框架. RPC框架比较   语言 协议 ​服务治理 ​社区 机构 Hessian 多语言 he ...

随机推荐

  1. 笔记:html基础

    一.HTML:超文本标记语言,是一种标签语言,不是编程语言,显示数据有双标签<body></body> 和单标签<img src=# / >, 标签大小写都可以 通 ...

  2. JavaSwing关于GridBagLayout(网格袋布局)的使用

    下面的链接有初步的介绍: https://blog.csdn.net/xietansheng/article/details/72814552 关于GridBagConstraints: GridBa ...

  3. centos7下的redis集群模式

    1.先安装好单机版的redis 2.Reids安装包里有个集群工具,要复制到/usr/local/bin里去 cd /home/redis/redis-4.0./src ls - cp redis-t ...

  4. C++ Templates (2.1 类模板Stack的实现 Implementation of Class Template Stack)

    返回完整目录 目录 2.1 类模板Stack的实现 Implementation of Class Template Stack 2.1.1 声明类模板 Declaration of Class Te ...

  5. mysql再回首

    Mysql与Oracle的区别 1.实例区别 Mysql是一个轻量型数据库,开源免费.Oracle是收费的而且价格非常高. Mysql一个实例可以操作多个库,而Oracle一个实例只能对应一个库. M ...

  6. CCAI观后

    暑期和大老板的学生一起学了一暑假的计算机视觉和机器学习,以前只是在京畿范围的学校听到的报告和这阵的学习数量级都不同.当时看到了很多人的报告,忽然发现了做报告应该做的准备实际还有很多. 首先是要有充分的 ...

  7. frozenset冻结集合函数

    1.描述 frozenset()返回一个冻结的集合,冻结后不能添加.删除和修改. set()无序且不重复,是可以变的,有add.remove.扩展:删除重复数据,还可以计算交集.差集.并集等 2.函数 ...

  8. 能卖课 会带货的CRMEB知识付费系统v1.30来了

    CRMEB知识付费系统是众邦科技在疫情肆虐,国家危难时开源发布的一款产品,它的诞生是众邦人爱国情怀的一次释放,更是众邦人用技术为人们带来美好生活的一次有效实践. 知识付费系统从2020年3月发布v1. ...

  9. iOS审核被拒大全

    崩溃和bug 当你完成应用开发并准备发布时应该将App提交审核.在提交审核前,要确保已经在设备上对应用程序进行了彻底的测试,修复了所有的bug. 断掉的链接 应用程序中所有的链接必须是功能性的.对于所 ...

  10. 【学习中】Unity插件之NGUI 完整视频教程

    课程 章节 内容 签到 Unity插件之NGUI 完整视频教程 第一章 NGUI基础控件和基础功能学习 1.NGUI介绍和插件的导入 6月29日 2.创建UIRoot 6月29日 3.学习Label控 ...