网站建设甲方给乙方的需求方案,厦门网站建设公司电话,wordpress换电脑,手机网站如何推广首先#xff0c;最近公司对原来的项目重构#xff0c;用thriftpy框架#xff08;饿了么对thrift的python实现#xff09;#xff0c;原来的thriftpy废弃了#xff0c;现在基本都用的是thriftpy2。刚刚接触到RPC方面的东西#xff0c;网上关于thriftpy2的资料也比较少最近公司对原来的项目重构用thriftpy框架饿了么对thrift的python实现原来的thriftpy废弃了现在基本都用的是thriftpy2。刚刚接触到RPC方面的东西网上关于thriftpy2的资料也比较少就想写自己的第一篇博客吧。 python搞微服务是最近的趋势但相关的资料很少。我会大概梳理下大概的流程具体的百度下就ok了。 先讲RPC这是远程功能调用就是我们原来是一个整体的项目现在需要拆分为一个个服务。RPC框架就是编程人员在同一台机器的不同进程之间或者同的机器之间进行远程调用代码的工具。这样我们就不用去管底层的具体实现只需要搞好我们原来的业务逻辑处理。 然后就是我们的thrift框架主要用于各个服务之间的RPC通信。支持跨语言比如客户端用python写服务端可以用java来写这都取决于开发者。 thrift的实现步骤 通过IDL接口定义语言 来定义 RPC(远程过程调用)的接口和数据类型 thrift编译器生成不同语言的代码 负责RPC协议层和传输层的实现 thrift框架通过定义IDL文件来来关联客户端和服务端 IDL文件中定义的内容定义我们要运行的服务需要的变量等 指定目标语言
namespace language xxx(文件夹目录)定义变量
const 定义结构体
struct xxx{}定义服务
service xxx{} 在thrift框架中我们需要执行 thrift --gen language Thrift filename,帮我们生成相应的thrift 服务需要的依赖文件 构建服务端代码客户端代码具体的我就不说了官方也有给出例子。 thrift框架的github地址 https://github.com/apache/thrift thriftpy2框架是以pythonic方式实现的不需要通过thrift文件生成SDK只需要动态导入thrift文件即可 https://github.com/Thriftpy/thriftpy2 安装也很简单,不过微服务基本都是用docker容器来运行服务通过Dockerfile安装在容器内即可 pip install thriftpy2 thriftpy2的基本流程 我们需要定义thrift文件来描述服务接口 定义客户端代码 定义服务端代码 先开启服务就可以执行客户端如果需要同时提供多个服务就需要建立多个.thrift文件来实现 thriftpy2中服务端和客户端都需要调用thriftpy2.load方法对thrift文件进行解析会在内存中构建相应的module 1.thriftpy2构建服务端 调用thriftpy.load方法对thrift文件进行解析,在内存中构建对应的module调用make_server将构建的module和完成具体业务功能的class绑定,同时完成传输层和协议层的设置,生成thrift服务器端调用server.serve方法启动服务器 2.thriftpy2构建客户端接口 调用thriftpy.load方法对thrift文件进行解析,在内存中构建对应的module调用make_client绑定上一步构建的module,同时完成传输层和协议层的设置,生成Thirft客户端根据生成的客户端调用响应的接口 由于微服务基本都会用docker来运行用docker来搭建python微服务大家可以参考下https://blog.csdn.net/qq_35394891/article/details/84144936 简单说下吧通过Dockerfile来帮我们快速生成容器使用的python版本运行的命令以及我们需要安装的包等生成对应的容器 这样我们就构建好容器了 通过gunicorn来帮助我们运行服务 文笔方面还有布局应该都比较差将就看吧有什么错误还望指出谢谢。 参考文档 https://blog.csdn.net/yzj225/article/details/76855991 https://blog.csdn.net/qq_35394891/article/details/84144936 https://blog.csdn.net/zkp_java/article/details/81879577转载于:https://www.cnblogs.com/hongtrands/p/11148840.html