用于设置 Liberty 的平台即服务环境注意事项

平台即服务 (PaaS) 环境(例如,IBM® Bluemix®、Pivotal Cloud Foundry 和 OpenShift Enterprise)提供对应用程序实例的管理和监视,但还具有一些限制。由于 PaaS 环境的内部特征,一些 Liberty 功能部件冗余或行为不同,因而不受支持。

Liberty 服务器管理限制

与 Liberty 集合体相关的功能部件不适用于 PaaS 环境,因为所有 Liberty 服务器 JVM 实例由 PaaS 基础结构启动、停止和管理。Liberty Admin Center 功能部件未进行设计以用于 PaaS 环境,在此环境中,可扩展应用程序以在不具有集合体控制器的情况下使用多个 JVM 实例。在此拓扑中,针对 Admin Center 的请求可定向到任何正在运行的实例,且仅对运行请求的服务器可见。

在 PaaS 环境中,不支持以下管理功能部件:
  • adminCenter-1.0
  • clusterMember-1.0
  • collectiveController-1.0
  • collectiveMember-1.0
  • dynamicRouting-1.0
  • healthAnalyzer-1.0
  • healthManager-1.0
  • scalingController-1.0
  • scalingMember-1.0

文件系统限制

多数 PaaS 环境不会向其应用程序提供持久的本地文件系统。对于 Liberty,这会影响服务器中的应用程序和组件,这些应用程序和组件在本地写入数据并预期在服务器 JVM 重新启动期间持久存储数据。

事务中涉及多个资源管理器时,Liberty 事务管理器会向本地文件系统写入日志文件。如果在 JVM 发生故障并重新启动后日志不可用,那么无法自动完成事务,必须手动解决以解锁数据,并使数据在资源管理器中保持一致。为避免出现此场景,Liberty buildpack 或 cartridge 阻止写入事务日志记录,并向应用程序发起异常以阻止列出第二个资源。因此,尽管您仍可将事务与单个 XA 资源配合使用,也无法在事务中列出第二个事务资源。此外,由于 Web Service 原子事务始终写入日志记录,因此无法使用。

如果 PaaS 环境提供持久存储器,那么可通过从 JVM 配置除去以下 Java™ 属性,修改 Liberty buildpack 或 cartridge 来启用两阶段事务:
-Dcom.ibm.tx.jta.disable2PC=true
以下功能部件依赖于持久本地存储器:
  • wsAtomicTransaction-1.2
  • 使用事务的其他功能部件,依赖于应用程序行为

网络限制

通常,PaaS 路由器不支持因特网 ORB 间协议 (IIOP) 流量,因此无法使用针对 Enterprise JavaBeans (EJB) 组件的远程请求。以下功能部件依赖于 IIOP 传输:
  • appClientSupport-1.0
  • appSecurityClient-1.0
  • ejbRemote-3.2

在一些情况(例如,SSL 在路由器处终止)下,Liberty 依赖于 HTTP 头描述原始客户机请求的各个方面。在 PaaS 环境中使用 SSL 时,这些头必须由 PaaS 路由器设置。在 IBM Bluemix 上,已设置这些头,以便您可使用 ssl-1.0 功能部件和依赖于它的任何功能部件,而不进行更改。要在其他 PaaS 环境中获得预期行为,可能需要按 NGINX 和 WebSphere® Application Server 中所述配置路由器以设置这些头。

以下功能部件需要路由器设置 HTTP 头:
  • ssl-1.0
  • 依赖于 ssl-1.0 的其他功能部件,如Secure Socket Layer 的“用于启用此功能部件的功能部件”部分中所列出

Liberty Swagger 处理器

在 Cloud Foundry 环境中,Liberty 中的 Swagger 处理器(包括其用户接口)会检查是否存在 VCAP_APPLICATION 环境变量。它会将 uris 阵列的第一个元素用作 API 主机。


用于指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwlp_paas_restrict
文件名:cwlp_paas_restrict.html