GRPC使用入门

官方文档 https://grpc.io/
中文版 https://doc.oschina.net/grpc?t=58008

前提:

  1. 了解rpc
    https://blog.youkuaiyun.com/xyc1211/article/details/109611039
    在这里插入图片描述

GRPC

官方文档 https://grpc.io/
中文版 https://doc.oschina.net/grpc?t=58008

gRPC = HTTP2 通讯协议 + ProtoBuf 序列化

默认使用protoBuf协议, 也可以使用其他协议 json等

了解protobuf

https://blog.youkuaiyun.com/xyc1211/article/details/121244969

在这里插入图片描述

服务注册与发现

gRPC开源组件官方并未直接提供服务注册与发现的功能实现

但其设计文档已提供实现的思路,并在不同语言的gRPC代码API中已提供了命名解析和负载均衡接口供扩展。

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

使用

1. 在.proto文件中定义 方法、参数

syntax = "proto3";

package rpc_package;

// define a service
service HelloWorldService {
    // define the interface and data type
    rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// define the data type of request
message HelloRequest {
    string name = 1;
}

// define the data type of response
message HelloReply {
    string message = 1;
}

2. proto生成 stub桩代码:

下载对应插件

使用 protocol buffer 编译器 protoc 来生成创建应用所需的 客户端和服务端的stub桩代码

项目用那种语言就生成那种语言的代码

  • Java
  • C++
  • C#
  • Python
  • go
  • Node.js
  • … …

例如 go的插件是:

$ go install google.golang.org/protobuf/cmd/protoc-gen-go
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc

生成桩代码命令是

$ protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    xxx.proto

3. 服务端 服务实现

实现服务端 stub桩代码里的服务接口,启动服务端

4. 客户端 调用服务

通过 客户端stub桩代码 调用服务

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xyc1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值