brpc - channel如何实现高效稳定的远程通信?
- 内容介绍
- 文章标签
- 相关推荐
本文共计487个文字,预计阅读时间需要2分钟。
介绍:是向server发送数据的通信方式。主要包含两个类:
1.ChannelOptions
2.Channel
3.Controller是Channel的友元类。
Init函数,用于指定server和ChannelOption。一般会使用protobuf定义一个Service,使用Service_S。介绍
是向server发送数据的通道。 主要有两个类, 1 ChannelOptions 2 Channel 3 Controller是Channel的友元类。
Init函数,用于指定server和ChannelOption。 一般会使用protobuf定义一个Service,使用Service_Stub进行rpc调用,需要传递 controller,request,response,done 这四个参数。
发送
channel的主要参数就这些, 超时时间,重试次数,协议类型,连接类型等等。
CallMethod 函数
函数声明如图
可以为cntl指定单独的参数,如不同的发送请求可能有不同的超时时间,但是复用同一个channel。 在这个函数里,
首先,根据ChannelOptions,为cntl==设置参数==。注意超时时间并未在这里根据channel设置,后续再看。
本文共计487个文字,预计阅读时间需要2分钟。
介绍:是向server发送数据的通信方式。主要包含两个类:
1.ChannelOptions
2.Channel
3.Controller是Channel的友元类。
Init函数,用于指定server和ChannelOption。一般会使用protobuf定义一个Service,使用Service_S。介绍
是向server发送数据的通道。 主要有两个类, 1 ChannelOptions 2 Channel 3 Controller是Channel的友元类。
Init函数,用于指定server和ChannelOption。 一般会使用protobuf定义一个Service,使用Service_Stub进行rpc调用,需要传递 controller,request,response,done 这四个参数。
发送
channel的主要参数就这些, 超时时间,重试次数,协议类型,连接类型等等。
CallMethod 函数
函数声明如图
可以为cntl指定单独的参数,如不同的发送请求可能有不同的超时时间,但是复用同一个channel。 在这个函数里,
首先,根据ChannelOptions,为cntl==设置参数==。注意超时时间并未在这里根据channel设置,后续再看。

