容错规划
容错或“高可用性”对于任何成功的业务操作都是至关重要的。为了确保在发生故障时处理请求,FME服务器支持在集成系统的多个级别上配置容错。FME服务器通过以下方式提供容错功能:
- 复苏:当崩溃发生时,重新启动组件和作业。FME服务器自动提供组件和作业恢复—不需要额外的计划。
- 故障转移:确保没有单点故障。可以使用两种不同的配置来实现此目的:主动/被动或主动/主动。故障转移是决定实现的安装体系结构类型的主要考虑因素。
对经济复苏
组件恢复
FME服务器自带组件恢复功能。这意味着,即使在单个系统上,FME服务器也会监视和重新启动失败的组件,包括FME引擎和FME服务器核心。这是通过FME服务器进程监视器.处罚-更改/取消 FME服务器监控其自身组件的能力确保了可靠的正常运行时间和可靠性。
就业复苏
FME服务器还包括在发生崩溃时重新启动翻译(作业)的能力。FME服务器将继续重新提交翻译,最多尝试指定次数。因此,遇到临时问题(如网络中断)的作业将重新提交并再次运行。作业恢复是可配置的,可以完全关闭。有关更多信息,请参见就业复苏.处罚-更改/取消
注意:重新提交的作业可能会导致数据重复,例如写入数据库格式时。
关于故障转移
故障转移环境的目标是删除单点故障,这样组件可以失败,但不会使系统离线。FME服务器支持两种故障转移方法:主被动和active - active.处罚-更改/取消
我们通常推荐主动/被动架构,它可以满足大多数企业的需求。两种方法各有利弊。
主被动
使用主动-被动故障转移方法,当主动系统失败时,被动系统接管失败的主动系统的功能,并承担主动系统的角色。而失败的系统则采用被动模式。当新的活动系统提供FME服务器的持续操作时,可以对故障系统进行调查。一旦被动系统被恢复,它将保持这个角色,直到主动系统发生另一个故障。
故障转移是通过主动式和被动式系统之间的心跳监控器实现的。通常导致故障转移的故障类型是硬件或操作系统崩溃,其中主系统完全宕机。
在故障转移时丢失的任何翻译都将重新提交。这些任务包括由于托管FME引擎的机器上的电源丢失而失败的任务,以及已经完成但仍然被认为由于托管FME服务器内核的机器上的电源丢失而丢失的任务。
在主动-被动体系结构中,FME服务器Web应用服务器和FME服务器系统共享文件在物理上是分离的。客户端必须提供这些组件的容错能力。有关更多信息,请参见主动-被动架构.处罚-更改/取消
主被动的优点
- 发布工作空间是整个系统的一次性任务。
- 作业恢复内置在容错设计中。
主被动的缺点
- 需要多个物理或虚拟系统,因为每个组件及其故障转移位于不同的系统上。也就是说,至少有两个FME服务器核心系统,以及用于web应用服务器、数据库和文件系统的独立系统。
active - active
Active-Active故障转移体系结构重复安装在不同服务器上的完整FME服务器。换句话说,所有组件都驻留在同一个系统上,其他系统配置类似,提供类似的功能。第三方负载均衡器将传入的流量定向到一个可用的系统。当请求被定向到任何系统时,它们都是由一个系统独立处理的。这种方法适用于基于云的计算环境,比如Amazon Web Services,在这种环境中,可以轻松地克隆机器以扩展容量。
有关更多信息,请参见active - active架构.处罚-更改/取消
active - active的优点
- 易于安装使用快速安装选项。
- 创建容错环境所需的机器更少。
- 通过添加更多的系统可以很容易地实现额外的吞吐量。
缺点的主
- 需要管理多个FME服务器。
- 工作空间必须发布到每个系统,可以手动发布,也可以通过脚本发布,以保持父系统和子系统的同步。
- 没有内置的作业恢复。在系统恢复联机之前,系统上运行的任何翻译都将丢失,或者必须在另一个系统上手动重新提交。
- 当系统发生故障时,处理能力会降低。
- 可能仍然需要恢复/复制整个环境的FME服务器系统共享。
- 时间表不会故障转移;它们必须在另一个系统上手动重新启动。