返回

云音乐服务端可视化编排平台 TangoFlow 设计与实现

后端

在实际业务需求背景下,TangoFlow 寻求构建组装式架构,整合云音乐服务端技术栈,提供基础逻辑编排功能,以某种方式(网关API、统一SDK等)暴露编排结果,以实现以下目的:

  • 构建弹性可扩展的基础编排平台
  • 支持业务人员快速构建业务流程
  • 降低研发资源投入、缩短业务响应时间
  • 促进研发团队知识沉淀和代码复用
  • 保障系统整体稳定性

TangoFlow 的设计

TangoFlow 的整体架构图如下:

[在这里插入图片]

TangoFlow 的核心组件包括:

  • 编排引擎: 负责将业务逻辑以可执行的形式进行组织和管理。
  • 网关: 负责接收和转发业务请求,并将其路由到相应的业务组件。
  • 统一SDK: 提供了一套标准的API,供业务组件使用。
  • 注册中心: 负责存储和管理业务组件的信息。
  • 监控中心: 负责收集和监控系统运行状态。

TangoFlow 的实现

TangoFlow 是使用 Java 开发的,它使用了以下开源框架和组件:

  • Spring Boot: 用于构建和运行微服务应用程序。
  • Spring Cloud: 用于构建分布式系统。
  • ZooKeeper: 用于注册中心。
  • Prometheus: 用于监控中心。

TangoFlow 的实现过程分为以下几个步骤:

  1. 定义业务逻辑: 业务人员需要首先定义业务逻辑,可以使用流程图、伪代码等方式。
  2. 将业务逻辑转换为可执行代码: 将业务逻辑转换为可执行代码,可以使用 TangoFlow 提供的统一SDK。
  3. 将业务组件注册到注册中心: 将业务组件注册到注册中心,以便编排引擎能够发现和管理它们。
  4. 部署编排引擎和网关: 将编排引擎和网关部署到生产环境。
  5. 测试和监控: 测试系统是否正常运行,并监控系统的运行状态。

TangoFlow 的使用

TangoFlow 可以被业务人员和研发人员使用。业务人员可以使用 TangoFlow 快速构建业务流程,而研发人员可以使用 TangoFlow 构建和管理服务组件。

TangoFlow 的优势

TangoFlow 具有以下优势:

  • 组装式架构: TangoFlow 采用组装式架构,可以灵活地整合云音乐服务端技术栈,快速构建和部署业务流程。
  • 可视化编排: TangoFlow 提供了可视化编排工具,业务人员可以轻松地将业务逻辑转换为可执行代码。
  • 弹性可扩展: TangoFlow 采用分布式架构,可以弹性地扩展,满足业务需求。
  • 统一SDK: TangoFlow 提供了统一SDK,方便业务组件的开发和管理。
  • 注册中心: TangoFlow 使用注册中心来存储和管理业务组件的信息,方便编排引擎发现和管理业务组件。
  • 监控中心: TangoFlow 使用监控中心来收集和监控系统运行状态,方便运维人员及时发现和解决问题。

TangoFlow 的未来发展

TangoFlow 的未来发展方向包括:

  • 支持更多的数据类型: 目前 TangoFlow 只支持有限的数据类型,未来将支持更多的数据类型。
  • 支持更多的业务场景: 目前 TangoFlow 只支持有限的业务场景,未来将支持更多的业务场景。
  • 与其他平台集成: 目前 TangoFlow 是一个独立的平台,未来将与其他平台集成,以提供更强大的功能。