Python 应用广泛的RPC方案

rpc 的特点

  • 为了快递进行子系统之间的功能调用,节省网络传输的开销,把数据大量压榨。采用二进制数据直接传递,不是标准的HTTP协议 这种是rpc调用
  • 缺点:不通用,有专门的客户端 和服务器支持,自己定义一套二进制数据的协议,才能完成通讯
  • 优点:通讯效率高
  • 应用:产品内部间的 功能之间调用,选择rpc

Python 应用广泛的RPC方案、

  • Facebook thrift
  • Google gRPC

RPC 目标

  • 高效通讯

  • 封装,把网络调用细节尽量隐藏封装,让使用RPC的的人,感觉就像编写本地函数一样进行远程调用

  • 尽量通用,可以跨平台,跨语言使用

    pip install grpcio  必须的核心依赖库
    pip install grpcio-tools   提供了protobuf 语法的编译工具。用来生成代码(python)	
    pip install protobuf
    python代码 一部分写 一部分生成
    

    1.使用protocol Buffers(proto3)的IDL接口定义语言定义接口服务,编写在文本文件(以.proto为后缀中。

    2.使用protocol编译器生成服务器和客户端使用的stub代码

    3.编写补充服务器和客户端逻辑代码

请添加图片描述

proto 代码生成

编译生成代码

python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. reco.proto
  • -I表示搜索proto文件中被导入文件的目录

  • --python_out表示保存生成Python文件的目录,生成的文件中包含接口定义中的数据类型

  • --grpc_python_out表示保存生成Python文件的目录,生成的文件中包含接口定义中的服务类型

  • reco_pb2.py 保存根据接口定义文件中的数据类型生成的python类

  • reco_pb2_grpc.py 保存根据接口定义文件中的服务方法类型生成的python调用RPC方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值