gRPC通信模式

gRPC初体验 这个文章的例子其实和RESTful在通信模式上没有什么区别,也是一次请求然后一个响应的模式,如果真是这样那gRPC就没啥意思了,今天我们来看一下gRPC四种通信模式。

一、一元RPC模式

1、大白话

有一天你很想一个妹子了,然后就微信找她聊天

你:忙不忙?

妹子:忙

基本上是GameOver了,妹子对你印象很一般,但可以试着死缠烂打哦。

2、原理

一个请求消息对应一个响应消息,然后关闭连接,请求信息以EOS结尾,响应消息以trailer结尾。消息可以是一个或多个数据帧。

3、例子

proto定义

rpc getOrder(google.protobuf.StringValue) returns(Order);

OrderServiceImpl 实现

OrderServiceClient

二、服务器端流RPC模式

1、大白话

你:好没意思啊!

妹子:怎么了?

妹子:发生了什么事?

妹子:快点和我说,我急死了。。。

妹子:。。。。。。。

Game必须继续,妹子很喜欢你,你要相信凭你的长相和钱包有这样的妹子你不好好把握那是个大傻子。

2、原理

一个请求消息对应多个响应消息,响应消息用trailer做为结尾。

3、例子

proto

rpc searchOrders(google.protobuf.StringValue) returns(stream Order);

OrderServiceImpl 实现

onNext()发送消息,onCompleted()结束响应。

OrderServiceClient

三、客户端流RPC模式

1、大白话

你:你都不知道疼人的,

你:被一个人牵动着情绪很烦,也可以很甜蜜

你:宝,我去输液,输的什么液,想你的夜

妹子:滚

Game可以结束了,舔狗式的爱不是爱,放手吧,兄弟!

2、原理

3、例子

proto

rpc updateOrders(stream Order) returns(google.protobuf.StringValue);

OrderServiceImpl 实现

一直在接收消息,但就是不想回你,最后才烦了,回你一句滚,Game Over吧。

使用CountDownLatch阻塞线程等待回调

待学习,肚子很饿了。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值