Skip to content

PaddleSpeech Server Architecture

Hui Zhang edited this page Jan 10, 2023 · 12 revisions

PaddleSpeech Server 服务架构设计

背景

  • 用户部署需求强烈:例如 #10471420

概括

PaddleSpeech Serving是基于python + fastapi 的语音算法模型的C/S类型后端服务,旨在统一paddle speech下的各语音算子来对外提供后端服务。提供简单易懂的服务架构体系,实现高可用、高性能、高可靠的服务,方便使用者快速部署相关的算法能力引擎。

PaddleSpeech Server架构图

安全

开源项目安全狗并不适用,主要从HTTPS协议考虑。

架构

设计思想

  • C/S 的架构

  • 工厂模式: 在服务设计中,使用工厂模式来创建对象,使得 PaddleSpeech Serving成为一座引擎的工厂。

  • 单例模式思想: 考虑服务运行时引擎的实例数只有一个(单例模式),在初始化服务完成。之后request不断请求进来后调用API,API中的引擎单例只执行run函数来处理结果,run函数中封装三个步骤: preprocess、infer、 postprocess。

  • 复用cli模块 继承Executor,然后重载相关需要重构的方法以满足请求的base64 音频文件。

总体结构设计

类图设计