为什么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为何难以推广的原因。


更多文章
  • 短链系统的实现
  • Git HTTPS 如何保存密码
  • 程序员修炼之道 阅读笔记
  • Python开发实践经验
  • Golang实现平滑重启(优雅重启)
  • traefik 教程
  • Web开发系列(十):事务和锁
  • Nginx作为TCP/UDP的负载均衡
  • Web开发系列(九):消息队列,异步任务
  • Web开发简介系列
  • Web开发系列(十一):数据库扩展
  • Nginx 请求匹配规则
  • Web开发系列(六):关系型数据库,ORM
  • Web开发系列(七):缓存,CDN
  • Web开发系列(八):单点故障,负载均衡