开发者社区> 问答> 正文

带python的gRPC-编写同步和异步服务的模式是什么

我正在写的新服务不是完全基于RESTful,而是更多基于操作,因此在python中研究了类似RPC的机制。我正在研究gRPC python的实现,并将其与Flask REST服务进行比较。

传统上,如果我在python中拥有Django / Python REST API,则对于运行某些业务逻辑/从ORM获取数据并返回JSON的同步调用,代码将作为请求处理程序的一部分编写。如果有一个异步任务需要运行,通常人们将使用celery或某种分布式工作流引擎,触发任务并响应触发该任务的Web请求。

如果要将此映射到我正在编写的新gRPC服务,建议使用以下哪种模式:

运行计算繁重的同步调用-我是否应该运行执行任务并返回响应的线程。我听说python上的gRPC不完全支持asyncio。

运行异步任务-我应该继续遵循celery模型,还是python中的gRPC服务器实现建议使用类似的方法,例如在同一服务器实例中具有本地线程池,多处理。

展开
收起
几许相思几点泪 2019-12-24 21:01:19 2181 0
1 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载