本章节介绍应用集成使用过程中遇到的常用名词的基本概念和简要描述。

App Connect

App Connect 即应用集成的英文名称。

App Connect 适用于通过无代码或低代码的方式高效的连接两个或者多个不同应用程序,在它们之间快速集成(Integration)和共享数据。

App Connect 支持一系列的预置的连接器(Connectors),以帮助您高效的集成一些常用的应用程序和快速处理相关的标准数据。

App Connect 支持创建集成流(Flow),在一个集成流中可以对多个步骤(Steps)进行编排(Orchestration),从而完成整个集成的处理过程。

集成(Integration)

集成相当于应用的概念,每个集成应用中可以定义多个“集成流”,每个集成流可以包含多个“步骤” ,每个步骤可以是连接器,能连接到某个类型的指定端点,也可以是逻辑组件,执行迭代、分支、数据映射等处理。

工作空间(Workspace)

工作空间是定义和运行集成(Integration)的资源命名空间(Namespace)。您可以在应用集成中创建多个工作空间,在各工作空间下创建不同的集成,而互不干扰。

在通过工作空间对集成进行分组时,通常可以按业务或团队进行划分,例如说一个项目或者一个团队使用一个工作空间进行协同开发。除了集成本身,在工作空间中还可以管理集成开发可以使用哪些连接器、模板、数据定义等可复用的集成资源。

  • 可以将一个工作空间设置为默认工作空间,此后,在新建集成、发布资产等操作时,如不指定工作空间,都会使用该默认工作空间。
  • 用户与默认工作空间的是多对一的关系,即一个用户只能有一个默认工作空间,一个空间可以同时是多个用户的默认工作空间。
  • 云账号首次登录时,系统会为其创建一个工作空间,并设置会默认工作空间。云账号的子账号在登录时,系统不会为其创建工作空间,需要云账号为子账号进行工作空间的授权,或者是子账号自行创建工作空间(需要有工作空间的创建权限)才有可用的工作空间。
  • 拥有工作空间后,用户可在工作空间中创建、部署集成等操作。

集成流(Flow)

在一个集成流中可以对多个步骤(Steps)进行编排(Orchestration),从而完成整个集成的处理过程。

在集成流中,每个步骤都对从当前的连接或者任何先前的步骤中获得的数据进行操作,操作的结果数据可用于集成流中的下一步骤。通常,必须将从连接或者上一步骤接收的数据字段映射到集成流中下一个连接或步骤可以对其进行操作的数据字段。运行时,集成执行引擎能够执行数据处理的映射,获得正确的结果。

步骤(Steps)

一个集成流(Flow)是由多个步骤(Steps)构成的,AppConnect 的步骤(Steps)主要分为 3 种类型:触发器(Trigger)、连接(Connection)和逻辑处理步骤(Logic Step)。

触发器(Trigger)

触发器是集成流的第一个节点,决定集成流如何被触发执行。

连接器(Connector)

连接器(Connector)用于 AppConnect 和其组件之间的通信,实现 AppConnect 和组件的连接(Connection)。

连接(Connection)

连接是连接器(Connector)的实例。在应用集成中创建集成流时,可直接在流中通过连接器创建连接来连接外部端点,也可以选用一个已经存在的连接直接使用。

逻辑处理步骤(Logic Step)

逻辑处理步骤是集成的一般逻辑处理步骤,这可能包括数据映射、数据验证、条件分支、循环和日志等。

组件(Component)

AppConnect 在多个不同的层次支持不同类型的组件(Component),通过资产中心(Asset Center)来分享和消费可复用的组件,分享行为既可以在组织(Organization)内,也可以跨组织。

AppConnect 中的组件包含以下类型:

  • 数据模型(DataType)
  • 数据映射(DataMapping)
  • 脚本(Script)
  • 跟环境相关的配置项(Profile)
  • 自定义的逻辑步骤(Customize Logic Step)
  • 映射函数(Map Function)

环境

环境主要用来对部署的资源进行分组管理,可以建立多个环境用于不同的目的,例如开发环境、生产环境。另外,环境与工作空间是完全正交的两个纬度,即一个工作空间的集成可以部署到多个环境,一个环境也可以部署多个空间的集成。

  • 应用集成不会为您创建默认的环境,因此,您在首次部署集成之前必须要创建一个环境,否则无法进行部署。
  • 创建环境时可以选择公共云环境或者是专有云环境,目前只支持公共云环境。
  • 公有云环境的运行底层是 ACK 集群,环境实际是对应到一个 K8s 命名空间(如果资源需求量很大,或者有特殊需求,也可以提交工单申请独享的 K8s 集群)。应用集成用了安全沙箱以及网络隔离等技术来保证多租户隔离的安全性。利用安全沙箱,确保了集成不能利用系统漏洞来实现安全逃逸从而影响其他环境的集成。另外,不同的 K8s 命名空间(即环境)之间网络默认是隔离的,不可互相访问,从而不会出现某个用户恶意调用其他用户集成的情况。

部署

部署(Deployment)代表了集成的一次发布。您在创建一个新集成或者是编辑一个集成后(无论是否已经发布),集成的状态都会变成未发布,此时您可以创建一个部署来将集成进行发布运行。

在新建部署时,首先需要选择一个目标环境,公共云或专有云(目前只支持公有云),公有云目前的运行底层是 ACK 集群,即您的集成会以 Pod 的形式运行在 ACK 集群上。选择完环境之后,需要选择资源的规格,目前支持两种规格:1C1G 和 2C2G。最后则是选择 Pod 运行的副本数。

新建部署完成后,部署记录的状态会自动变为部署中,并开始进行部署。部署的步骤详情可以通过部署日志进行查看。

部署完成后,在正常情况下,部署状态会变成运行中,表示该集成已经开始正常运行,集成的状态会变成已发布

部署的各状态说明如下表所示。

状态 操作 说明
部署中 查看日志 部署任务正在进行,尚未结束。
部署失败
  • 查看日志
  • 重新部署
部署任务执行完成了,但是最终的结果失败了,例如编译集成的时候失败、推送镜像失败、创建部署失败等。
卸载中 查看日志 对已经完成的部署进行卸载,会将集成占用的运行资源进行释放。
卸载失败
  • 查看日志
  • 重新卸载
卸载任务执行失败,一般不会出现这种情况。
过期
  • 查看日志
  • 重新部署
部署卸载后会变成过期状态,另外如果有新的部署(例如集成重新编辑后再次部署,或者是直接对一个已有的部署进行重新部署),旧的部署也会自动变成过期状态。
运行中
  • 查看日志
  • 卸载
部署成功后,探活线程会探测 Pod 副本数,只要数量大于等于一则会进行该状态。
停止
  • 查看日志
  • 重新部署
  • 卸载
部署成功后,探活线程会探测 Pod 副本数,副本数量等于 0 则会进行该状态。
说明 上表中除运行中停止外的其他状态都是标识部署任务状态的,而运行中停止这两个状态是表示集成部署成功之后的运行状态。这里可能会有疑问:为什么不在部署成功之后,直接将状态设置为部署成功?因为后续集成运行的过程中,可能会出现由于 bug、网络等各种原因导致集成停止运行的情况,而这种情况需要提示给您,所以不能统一为部署成功。