【文章来源】极链AI云(性价比最高的共享算力平台,助力你的技术成长~首次注册可获免费100小时GPU使用时长!官网地址:https://cloud.videojj.com/)
深度学习者常常有疑问,如果有了训练好的模型,怎么用服务调用?很多人可能会想到 Flask 进行 Http 调用。
那如果是内网呢?如果希望去掉 Http 封包解包一系列耗时操作呢?自然我们会想到 Rpc 协议。
RPC(Remote Procedure Call)是一种远程调用协议,简单地说就是,能使应用像调用本地方法一样,调用远程的过程或服务,可以应用在分布式服务、分布式计算、远程服务调用等许多场景。
有很多优秀的 Rpc 框架,如 gRpc、Thrift、Dubbo、Hessian 等,本文来介绍一下 Thrift 框架中的服务模型。
为什么需要了解服务模型?因为为了增大 Rpc 服务端的并发处理能力,需要选择更合适的 Thrift 服务模型,这就需要我们了解各个服务模型的特性。
下面对支持 Python 的各个服务模型做具体介绍:
一、TSimpleServer
TSimpleServer 的工作模式采用最简单的阻塞 IO,实现方法简洁明了,便于理解,但是一次只能接收和处理一个 socket 连接,效率比较低。
1、处理流程