为什么gRPC难以推广

为什么gRPC难以推广?gRPC构建在HTTP/2之上,而RESTful实际生产中仍然大量使用HTTP/1,无论在性能、吞吐量、消息传输大小等方面, gRPC都完胜。然而就我的从业经历来看,gRPC在推广上遭遇的难度比RESTFul要难很多。我想主要是这么几个原因:

  • 没有实际场景,达不到需要使用gRPC的量级,由于人的惰性,如无必要,一般是不会去改的。问过几个同事,大家的想法类似,无非是 觉得没必要,或者不想改等等。毕竟相比Google,FB这类大厂,极少有厂商有这种程度的并发量,RESTFul虽然性能差,但是没有场景来推动, 推广实在是太难了。
  • 历史存量,RESTful存量比gRPC大太多。说起RESTFul,我想后端程序员都知道,毕竟不知道这个似乎连面试都过不了,而gRPC则没有 那么多人知道,最近这些年来,一直都是RESTFul大行其道,历史存量难以撼动。
  • 对于web端的支持还不够成熟,要写两套。gRPC的确有web支持,但这还是近期才发生的事情,目前应用还不多。
  • gRPC更难,无论是使用还是调试,还缺乏相应工具。HTTP/1有 curl, httpie, postman 等好工具使用,而且JSON是人类可读的 纯文本,gRPC则不同,首先它使用protobuf进行编码,其次HTTP/2是二进制协议,人类难以读懂,再加上现在工具匮乏,调试、联调起来 确实有难度。

以上就是我总结的一些关于gRPC为何难以推广的原因。


更多文章
  • 再读vim help:vim小技巧
  • 再读 Python Language Reference
  • 设计模式(2)- 深入浅出设计模式 阅读笔记
  • 设计模式(1)- 深入浅出设计模式 阅读笔记
  • Cython! Python和C两个世界的交叉点
  • socketserver 源码阅读与分析
  • functools 源码阅读与分析
  • contextlib代码阅读
  • Collections 源码阅读与分析
  • Redis通信协议阅读
  • 2016年就要结束了,2017年就要开始啦!
  • unittest 源代码阅读
  • APUEv3 - 重读笔记
  • Mock源码阅读与分析
  • Thinking in Python