文章目录
简介
JAVA提供`provider`和`consumer`
`proto`文件介绍
java grpc provider
java grpc consumer
go提供`provider`和`consumer`
生成grpc文件
go grpc provider
go grpc consumer
测试
java 提供grpc服务
go 提供grpc服务
参考
简介
语言中立,支持多种语言;
基于 IDL 文件定义服务,通过 proto3 工具生成指定语言的数据结构、服务端接口以及客户端 Stub;
通信协议基于标准的 HTTP/2 设计,支持双向流、消息头压缩、单 TCP 的多路复用、服务端推送等特性,这些特性使得 gRPC 在移动端设备上更加省电和节省网络流量;
序列化支持 PB(Protocol Buffer)和 JSON,PB 是一种语言无关的高性能序列化框架,基于 HTTP/2 + PB, 保障了 RPC 调用的高性能。
JAVA提供provider和consumer
proto文件介绍
syntax
指定语言版本
syntax
指定语言版本
option
修改配置选项
service
声明一个服务
rpc
声明一个方法
resturns
方法的返回值
message
定义一个消息类型
repeated
数组
stream
用流来交互
一个栗子,helloworld.proto:
syntax = "proto3"; //语法声明
// Greeter 微服务
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// HelloRequest 请求数据格式
message HelloRequest {
string name = 1;
}
// HelloReply 响应数据格式
message HelloReply {
string message = 1;