gRPC简介
gRPC由google开发,是一款语言中立、平台中立、开源的远程过程调用系统
gRPC客户端和服务端可以在多种环境中运行和交互,例如用java写一个服务端,可以用go语言写客户端调用
gRPC与Protobuf介绍
- 微服务架构中,由于每个服务对应的代码库是独立运行的,无法直接调用,彼此间的通信就是个大问题
- gRPC可以实现微服务,将大的项目拆分为多个小且独立的业务模块,也就是服务,各服务间使用高效的protobuf协议进行RPC调用,gRPC默认使用protocolbuffers,这是google开源的一套成熟的结构数据序列化机制(当然也可以使用其他数据格式如JSON)
- 可以用proto files创建gRPC服务,用message类型来定义方法参数和返回类型
一、安装gRPC和Protobuf
- 这里暂时不给安装流程了,需要详细安装的可以私聊
二、proto实战
1.编写proto文件
代码如下(示例):
syntax = "proto3"; // 指定proto版本
package hello; // 指定默认包名
// 指定golang包名
option go_package = "../hello";
// 定义Hello服务
service Hello