.Net Core 微服务学习(四) gRpc

之前我们学习了微服务的大提

gRpc  --  一个高性能 开源 跨语言的rpc框架

http特点

1.三次握手,四次挥手

2.数据格式为json/xml

3.http 1.1协议

上述特点在高并发的情况下会有大量的时间和性能损耗 而http 1.1 是阻塞的方式 需要线程池的支持 

上述使得它成为整个系统的瓶颈

rpc特点

1.基于socket长连接

2.服务端和客户端必须使用同一语言

3.数据格式为 序列化和反序列化

基于socket长连接 使得rpc 性能要高于http 而直接使用对象传输 节省了时间

但是必须使用同一语言导致了它不能跨语言 而且基于socket长连接导致他很耗线程资源

gRpc特点

1.使用http2协议

  多路复用socket 一个线程就可以处理所有的请求

2.proobuf数据格式 (和语言无关)

  数据格式为二进制 不需要序列化 

此外其他跨语言rpc框架还有 hessian / thrift

构建gRpc

1.

猜你喜欢

转载自www.cnblogs.com/zhangxiaoxia/p/12649140.html