Python RPC 不会?不妨看看这篇文章

      最后更新:2022-07-29 16:58:41 手机定位技术交流文章

      1. 前言
      RPC,全程为 Remote Procedure Call,是一种进程间的通信方式,它采用「 服务端 / 客户机 」模式,是一种请求响应模型

      服务端负责提供服务方案和响应具体实施逻辑的要求,客户则负责要求电话

      主要 RPC 框架 包括 :

      • 阿里的 Dubbo
      • Facebook的节俭
      • Google gRpc
      • 西娜·魏博·莫坦
      • Golang Eco's rpcx

      其中,gRpc和Thrift是一个多语言的RPC服务框架,比Thrift更有效率

      本文以Thrift为例,讨论了Python中RPC的使用过程

      thriftpy的介绍
      Thrift是一种界面描述语言和二进制通信协议,可用于定义和创建多种语言服务,使客户和服务器在不同语言之间进行高效和透明的通信

      thriftpy2是一种基于Thrift的二级封装,使得编写RPC更加容易和快速

      项目地址: https://github.com/Thriftpy/t..

      首先,我们在虚拟环境中安装依赖包

      如果是Windows,则建议在Pycharm安装thrift插件

      PS:这个插件让我们更容易写“Thrift”通讯文件

      下载地址: https://plugins.jetbrains.com..

      3. 实战一下
      首先,按要求编写储蓄通讯文件

      例如,文档定义了两个方法

      • 无参函数 ping
      • 登录 login

      包含两个参数:username、password

      然后写服务端代码

      根据Thrift通信文件中定义的方法编译一个具体的实现逻辑

      创建指定绑定IP地址和端口号码的服务对象,打开服务并听取消息

      然后写客户端代码

      在此,您可以根据服务器提供的IP地址和端口号码创建客户端连接对象,并指定如何调用通信文件

      PS:如果客户端是远程执行的,则Thrift通信文件需要放在同一个目录下

      最后,分别运行服务端和客户端代码

      使用WireShark分析数据包抓取,找出服务端口和客户如何通信和数据传输过程

      4. 最后
      在企业项目中,HTTP的共同特征是简单、易于开发、易于处理,是主流数据传输协议

      与HTTP或H2相比,RPC的主要优点是高安全性、低性能消耗、高传输效率和方便的服务管理,因此我们可以根据实际项目要求选择合理的数据通信方法

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30816.html

          热门文章

          文章分类