grpc是一个高性能,开源通用的rpc框架,面向移动和http2设计,目前支持C, Java和go语言。本篇博客可以帮助初学者快速了解grpc,并使用grpc实现分布式。
介绍
官网上介绍了grpc的一些基本概念,其中最重要的是: grpc使用了protobuffer(协议缓冲)实现其分布式的功能。通过protobuffer定义传输消息的数据结构,以及访问该数据结构的访问类,网络中的节点得以传输消息,进而实现分布式功能。
与socket相比,grpc实现了网络传输功能的封装,因此不用向socket那样对传输的数据进行更详细的定义。通过写proto文件并对其编译,使用grpc可以简化网络传输代码的书写。
目前grpc可以实现的交互方式一共有4种,分别是:一元普通模式,客户流模式,服务流模式和双向流模式。
安装
官网上用一个c++例子介绍grpc的使用案例,可以自行测试,亲测可用。
b站上一则教学视频中详细介绍了grpc,并且带着用golang写了最简单的分布式应用。