《RPC 应用与原理概述》之入门介绍

Posted 80后柳先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《RPC 应用与原理概述》之入门介绍相关的知识,希望对你有一定的参考价值。

什么是 gRPC

Google开发的一个高性能的、开源的、普遍通用的RPC框架。

gRPC本质上仍然遵循常规的Remote Procedure Call (RPC) 技术,但是在实现上使用了HTTP2.0、协议缓冲区等技术方案,在最大程度上确保服务端和客户端的互操作性及性能上的提升


为什么用 gRPC

1.从性能上,在高并发场景下(>1000),其吞吐率远大于 dubbo,响应时间更低,参看压测结果:

grpc 性能测试

https://blog.csdn.net/u012888052/article/details/78617862


2.从功能上,其能力更丰富,支持四种使用方式,分别是客户端流模式,服务端流模式,双向流模式和普通调用

3.从使用成本上,容易上手

4.从成熟度上,开源社区活跃,应用广泛

5.从应用特点上,需要流式传输,提高响应的时效性


为什么gRPC是高效的

1.基于HTTP2构建,既支持传统的请求-响应模型,也支持双向流模型

2.可以将数据转换到协议缓冲区

3.支持多路复用

4.网络传输的是二进制数据,相对于JSON等文本数据更加轻量级

5.多语言支持,


什么是协议缓冲区

协议缓冲区(Protobuf)是一种将结构化数据序列化的方法

它包括两部分:

一部分是描述某些数据结构的接口描述语言

一部分是从该描述语言中生成源代码的程序,这个程序用于生成或解析这些结构化数据的字节流


PB(protocol buffer)快在哪里?

快主要体现在序列化、反序列化和数据传输上

第⼀,它使⽤ proto 编译器,⾃动进⾏序列化和反序列化,速度⾮常快,⽐ XML 和 JSON 快上了 20~100 倍;

第⼆,数据压缩效果好,这样可以让其序列化后的数据量体积⼩。因为体积⼩,传输起来带宽和速度上会非常快


关于HTTP2

http2简述

https://zhuanlan.zhihu.com/p/26559480

以上是关于《RPC 应用与原理概述》之入门介绍的主要内容,如果未能解决你的问题,请参考以下文章

分布式 RPC 系统框架 Dubbo入门介绍

storm 入门原理介绍

面向服务架构之RPC原理与实例

(转发)storm 入门原理介绍

Docker入门学习1 ——概述

小白入门之SpringMVC