Python之RPC开发讲解第10篇:协议与传输选择,服务器
【摘要】 客户端 安装 1 安装依赖工具和库 2 安装Thrift编译器和程序库 Thrift的接口定义语言IDL 1 基本类型 2 容器类型 协议与传输选择 1 协议 服务器 Thrift 简介 架构 使用方法 gRPC HTTP/2 1 HTTP/1.x gRPC接口类型 1 Unary RPC 2 Server Streaming RPC Protocol Buffers 1 文档
🚀🚀🚀本篇主要内容
协议与传输选择
1 协议
Thrift 可以让用户选择客户端与服务端之间传输通信的消息协议类别,如 前面所讲总体划分为文本 (text) 和二进制 (binary) ,为节约带宽,提高传输效率,一般情况下使用二进制类型的为多数,有时还会使用基于文本类型的协议,这需要根据项目 / 产品中的实际需求。常用协议有以下几种:
- thrift.protocol.TBinaryProtocol
二进制编码格式进行数据传输
客户端构建方式:
protocol = TBinaryProtocol.TBinaryProtocol(transport)
[Python 标准库参考]
服务端构建方式:
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
服务器
Thrift提供的常见服务端类型有一下几种:
- thrift.server.TServer.TSimpleServer 单线程服务器
- thrift.server.TServer.TThreadedServer 多线程服务器
- thrift.server.TServer.TThreadPoolServer 线程池服务器
- thrift.server.TServer.TForkingServer 多进程服务器
以线程池服务器为例,其他方式相同。
import sys
sys.path.append('gen-py') # 增加生成代码的查找包路径
from calculate import Calculate
from base.ttypes import InvalidOperation,
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)