智能媒体微服务平台接口设计规范

发布者:管理员发布时间:2021-08-11浏览次数:10

     智能媒体业务可以拆分成很多微服务编排工具,这些微服务编排工具功能各不相同,如果对每个微服务编排工具根据其特殊的功能去设计相应的接口,那么平台对外开放的服务接口会非常复杂。大量接口不仅使微服务工具的运维、管理、编排变得困难,也会在用户端增加平台的学习和使用成本。

为了解决以上问题,智能媒体微服务平台需要一种通用的、标准化的接口设计方案,该方案可以适用于大部分微服务工具,减少不同微服务工具的接口差异。结合面向对象编程和操作系统系统函数的设计思想,实验室提出智能媒体微服务编排工具标准化接口设计方案如下:

1)所有接口都按照RESTful API风格设计,通过HTTP协议调用。

2)所有微服务都按照以下8个接口封装其功能:

 ①创建编排工具工程

描述:根据用户需求创建服务,服务承载着用户私有的一些使用设置,这些设置是一直存储,不会随着服务的关闭而重置(保存的信息可以是个性化场景配置,也可以是特定的素材),创建服务返回唯一的服务ID作为服务的标识。

接口名称:createToolProject

 ②开启编排工具工程

描述:给指定的工程申请对应的IT资源运行,进入可工作状态。接口参数可以按需加上回调url,当工程运行过程中有需要通知业务方的可以通过此url进行,比如通知工程运行后的结果。

接口名称:openToolProject

 ③关闭编排工具工程

描述:编排工具当次使用结束,可以关闭工程来释放计算资源,减少资源的浪费。有些工程会自动关闭的,不需要实现主动。

接口名称:closeToolProject

 ④删除编排工具工程

描述:不再需要使用的服务可以删除,个性化配置将丢失。

接口名称: deleteToolProject

 ⑤获取编排工具工程列表

描述:可以获取某个用户下面的编排工具工程列表,包括简单的信息。

接口名称:getToolProjectList

 ⑥获取工具可配置参数

描述:工具创建完成后,可以获取工具创建时候提交初始配置参数信息。

接口名称:getInitConfig

 ⑦获取连接点可配置参数

描述:编排工具通过连接点拉流,可以获取连接点的配置参数信息。

接口名称:getPointConfig

 ⑧获取工具流畅度

描述:可以获取工具流畅度信息来判断各项参数是否符合业务需求。

接口名称:getMonitorInfo

 ⑨获取连接点流地址

描述:可以获取编排工具当前连接点流地址。

接口名称:getStreamUrl

 ⑩设置连接点流地址

描述:可以为编排工具设置连接点流地址。

接口名称:setStreamUrl

以上10个接口可以满足大部分智能媒体微服务编排工具功能的表达。

本方案优势:

1)只需要对开发好的服务接口做简单的二次封装,功能边界清晰,开发成本低,易于实现。

2)接口设计屏蔽微服务的具体功能,只考虑服务、用户和平台三者的关系进行抽象,降低平台管理复杂度,减轻用户学习成本。