转载

使用 Softlayer Auto Scale 扩展 Sterling B2B Integrator

IBM Softlayer 提供了一个 Auto Scale 特性,使您能够自动化添加或删除虚拟服务器来支持业务应用程序的扩展流程。它使基础架构能够基于用户定义的触发因素来进行伸缩,这些因素包括 CPU 利用率、网络带宽和内存使用等。它还使您能够根据这些事件来设置策略和触发操作。

本文将介绍使用 IBM Sterling B2B Integrator 中的 Softlayer Auto Scale 特性的考虑因素,提供设置策略和触发器的建议。

本文将讨论 IBM Sterling B2B Integrator 应用程序集群部署,以及一些通过集群实现可扩展性的最佳实践。我们还将讨论为托管在 SoftLayer 上的 IBM Sterling B2B Integrator 设置 Auto Scale 的前提条件,包括创建镜像模板;设置安装后脚本;以及配置 Auto Scale 组、策略和触发器。本文的建议适合大容量数据处理和峰值负载场景。实现自动扩展的实际配置在每个场景中都有所不同。

IBM Sterling B2B Integrator 的扩展需求

将应用程序加入集群

IBM Sterling B2B Integrator 可在应用程序级别上实现集群化。每个实例都被称为一个节点:node1、node2、node n 。集群中的所有节点共享同一个数据库。

有关 IBM Sterling B2B Integrator 集群的更多信息,请参阅 IBM Sterling B2B Integrator V5.2 文档 。导航到 Sterling B2B Integrator 5.2.0 > System Administration > Clustering

集群使得 IBM Sterling B2B Integrator 能够得到极大扩展,从而处理高容量事务。这增加了可靠性并保证了高可用性,减少了系统宕机时间。集群在内部使用一种由调度策略确定的负载平衡算法来分发业务流程。如果某个节点出现故障,业务流程可在另一个节点中恢复,而不会影响结果。IBM Sterling B2B Integrator 节点可添加到正在运行的集群,无需关闭集群。下图显示了一种 IBM Sterling B2B Integrator 集群设置。

使用 Softlayer Auto Scale 扩展 Sterling B2B Integrator

点击查看大图

关闭 [x]

使用 Softlayer Auto Scale 扩展 Sterling B2B Integrator

负载平衡:集群默认设置与外部负载平衡器

在 IBM Sterling B2B Integrator 集群中,JGroups 用于在集群中的所有节点中广播业务流程负载系数。还可以使用它在负载平衡中分发工作流上下文。

服务组 是一组可用作同级并共担负载的相同类型的服务或适配器。在集群中定义服务组有助于实现负载平衡和故障转移。可以在业务流程中定义一个服务组,就像它是单个适配器实例一样。

外部负载平衡机制分发传入的 HTTP、FTP 或其他网络流量。在部署中使用 HTTP Server Adapter 时,它提供了使用 DNS 负载平衡 (round-robin)、代理服务器或硬件负载平衡器来执行负载平衡的附加选项。IBM Sterling B2B Integrator 中的 HTTP Server Adapter 是其他许多应用程序协议的底层适配器,比如 AS2 和 E-Invoicing。

Auto Scale 特性包含为组中的 成员 (虚拟设备)添加负载平衡器的选项。在部署在 SoftLayer 上时,这为 IBM Sterling B2B Integrator 提供了一个额外的扩展选项。当活跃的成员数量达到 0 时,它会完全缩减,负载平衡器将停用。您仅需要为使用的资源付费。

在集群节点中使用 Softlayer Auto Scale

如上所述,Softlayer Auto Scale 特性使 IBM Sterling B2B Integrator 等应用程序能够基于多个触发因素而扩展或缩减,比如使用较大的带宽或需要更强的处理能力,这可节省时间和资金。

通常在 IBM Sterling B2B Integrator 集群设置中,会部署最大数量的节点来应对最严重的场景。这种情况可以使用 Auto Scale 特性来避免,基于定义的前提条件来实现动态地伸缩。例如,当 IBM Sterling B2B Integrator 部署在需要交换大量且大型文档的银行或零售场景中时,在有大量同时执行的工作流时内存需求可能最大化,在涉及数据转换等额外的处理任务时 CPU 使用可能达到 100%。这些情况可定义为使用新集群节点来扩展部署的 Auto Scale 触发器。

简化扩展的部署建议

IBM Sterling B2B Integrator 可以通过各种不同的方式部署来适应特定的业务场景。通常,在解决方案设计期间,硬编码了许多值来满足一种特定的实现需求。但是,应遵守一些最佳实践:

  1. 应避免选择一个优先使用或强制使用的节点,或者应避免使用业务流程的优先队列。对某个节点或业务流程队列存在依赖性会严重显示负载平衡。
  2. 推荐在集群化的环境中定义服务组。将多个 IBM Sterling B2B Integrator 服务或适配器实例分组到一起,可实现基本的 round-robin 类型负载平衡。在集群化的环境中,从每个节点选择一个服务实例并将它们分组到一起,通常会将负载均衡地分布在集群节点上。
  3. 避免对业务流程设置调度限制。仅在绝对需要时使用最后期限限制。
  4. 适当地定义您的归档和清除策略,以便有效地管理磁盘/数据库空间。应避免具有较长寿命的文档。
  5. 当其他软件(比如 PGP 服务器或 LDAP 服务器)安装在与 IBM Sterling B2B Integrator 集群相同的物理机器中时,如果未正确集成它们,则有可能带来一些限制,应避免出现这种情况。
  6. 依据来自 IBM Sterling B2B Integrator 性能和调优指南的建议来适当设置 JVM 参数,比如 Initial_Heap_sizeMaximum_Heap_size

为 IBM Sterling B2B Integrator 定义 Auto Scale 策略

现在,让我们看看如何为 SoftLayer 上的 IBM Sterling B2B Integrator 安装配置 Auto Scale。

首先,请参阅 “ 反思 B2B 业务:云中的企业应用程序集成 (EAI) 。”

要了解如何在 IBM Sterling B2B Integrator 中建立集群,请参阅 IBM Sterling B2B Integrator V5.2 文档 。导航到: Sterling B2B Integrator 5.2.0 > Getting Started > Installation and Upgrade > Installation(5.2.3 或更高版本)

为 Auto Scale 准备 IBM Sterling B2B Integrator 部署

要自动扩展现有的集群安装,需要一个可在新虚拟设备上配备和配置的 IBM Sterling B2B Integrator 节点镜像。所以,如果没有这样的镜像,则需要在 IBM Sterling B2B Integrator 集群安装期间创建一个。在集群安装中,主要节点默认为 node1,另一个节点为 node2。创建 node2 的 ISO 镜像。可以将它用作扩展的基础镜像。

SoftLayer 还提供了基于 OpenStack Swift 的对象存储,该服务可用于存储镜像(在本例中为 node2)。这会节省大量时间、精力和带宽。使用 SoftLayer 的平台中立性镜像格式 Flex Image,您可以选择根据虚拟设备的镜像来创建物理机器。

在获得 node2 的 Flex Image 后,可使用它扩展 Softlayer 上现有的集群实例。如果已有一个 ISO 镜像,可将它加载到 Softlayer Object Storage 中,并将其转换为镜像模板,然后可使用该模板来引导或加载设备。

在配备一个新集群节点后,需要运行安装后脚本来执行以下步骤:

  1. 导航到 install_dir/properties 目录。编辑 sandbox.cfg 文件并修改以下属性(其中 ip_address 是新创建的虚拟机的 IP 地址)。
    INSTALL_IP=ip_address  EXT_HOST_ADDR=ip_address
  2. 运行以下脚本:
    install_dir/bin/setupfiles.sh
  3. 从 install_dir/bin/ 目录,运行下面这条命令并将结果存储在变量 nodecount 中。
    db_exec.sh "select * from OPS_NODE_INFO".
  4. 从 install_dir/bin/ 目录,运行下面这条命令:
    StartCluster nodecount +1
  5. 从 install_dir/bin/ 目录,运行下面这条命令:
    run.sh
  6. 从 install_dir/bin/ 目录,运行下面这条命令,这会返回包含节点和日志详细信息的结果,这些结果可用于确认和调试。
    db_exec .sh " select * from OPS_NODE_INFO"

定义 Auto Scale 组

Auto Scale 组包含一种 Auto Scale 设置的所有组件,由 3 个主要节组成:组细节、网络和组设置。要配置 Auto Scale 组,可执行 SoftLayer Auto Scale 简介 中描述的步骤。

备注:在配置最大和最小成员数量时,请记住,对于 IBM Sterling B2B Integrator,不推荐添加超过 10 个节点,因为这可能让数据库服务器过载,而且会导致性能下降。推荐的设置是最少 1 个和最多 10 个。这是 Auto Scale Member Configuration 设置的典型示例。

使用 Softlayer Auto Scale 扩展 Sterling B2B Integrator

设置策略、触发器和操作

组必须定义策略。策略由触发器组成,触发器基于定义的条件来执行策略中定义的操作。至少应定义两个策略,一个扩展策略和一个缩减策略。

对于缩减操作,策略描述组在缩减时如何选择删除哪个成员:最新的、最旧的还是与下一次收费最接近的。

有 3 种类型的触发器:一次性、反复和资源使用。一次性触发器需要一个日期,如果 Auto Scale 组已激活,则在该时间启动。如果 Auto Scale 组已激活,反复触发器基于一个计划性时间表而发起操作。资源使用触发器包含一组参数,比如 CPU 百分比,传出的公共和私有带宽,大于或小于等条件,以及此条件应存在的持续时间。

对于 IBM Sterling B2B Integrator,资源使用触发器是一个不错的选择,因为扩展需求主要来自文档处理。文档处理或数据转换会使用 CPU 周期,而大量的业务流程会使用内存。所以举例而言,您可设置一个触发器来在 CPU 使用率连续 30 分钟达到 90% 时添加一个新 IBM Sterling B2B Integrator 节点。

结束语

本文讨论了 IBM Sterling B2B Integrator 集群部署,以及通过集群实现可扩展性的最佳实践。我们还讨论了为托管在 SoftLayer 上的 IBM Sterling B2B Integrator 设置 Auto Scale 的前提条件,包括创建镜像模板;设置安装后脚本;以及配置 Auto Scale 组、策略和触发器。本文所提供的建议适合处理大容量数据和峰值负载场景。Auto Scale 的实际配置将依赖于每个场景的需求而不同。

正文到此结束
Loading...