原文链接:https://mp.weixin.qq.com/s/ah...
可以看到,使用go和java时,qps接近240w/s这个惊人的数字。当然,千万不能完全相信这个数字,qps受到网络、消息大小、机器配置等多种因素的综合影响。实际使用还是需要自行测试。
6 总结
本文概括性的介绍gRPC,包括gRPC的起源,核心特性,生态体系,以及一些知名开源软件对gRPC的使用,目的是让读者从整体上对gRPC有一个相对全面的认知。
补充:gRPC与netty、dubbo等框架的区别
netty本质上是一个高性能的网路通信框架,且局限于Java语言。gRPC则不同,则是面向微服务设计的,netty可以作为gRPC的底层通信框架,gRPC本身还支持很多微服务中的概念,如前面提到的服务发现注册,链路追踪等。
与其他微服务框架如dubbo、spring cloud等,gRPC不局限于某一种语言,而是几乎所有主流语言。
另外一个很大的不同是,gRPC不是采用私有协议,而是基于标准的HTTP/2实现,这意味着可能会有更多的厂商使用或者支持gRPC,如果前面提到的nginx、etcd等。这体现了遵循标准的重要性,试想,如果想要nginx支持dubbo,或者etcd来使用dubbo,几乎是不可能的事情。
设计者的思路,直接决定了一门技术到底能够有多广泛的使用场景。
微信公众号【程序员黄小斜】作者是前蚂蚁金服Java工程师,专注分享Java技术干货和求职成长心得,不限于BAT面试,算法、计算机基础、数据库、分布式、spring全家桶、微服务、高并发、JVM、Docker容器,ELK、大数据等。关注后回复【book】领取精选20本Java面试必备精品电子书。