設定 Liberty 時的平台即服務 (PaaS) 環境注意事項

IBM® Bluemix®、Pivotal Cloud Foundry 和 OpenShift 等之類的平台即服務 (PaaS) 環境提供應用程式實例的管理與監視,但還是有一些限制。 基於 PaaS 環境的一些固有性質,有些 Liberty 特性是冗餘的或者會採取不同的行為,因而不支援這些特性。

Liberty 伺服器管理限制

與 Liberty 群體有關的特性不適用於 PaaS 環境,因為所有 Liberty 伺服器 JVM 實例是由 PaaS 基礎架構來啟動、停止和管理。Liberty 的「管理中心」特性並非設計用於 PaaS 環境中,在該環境中,可以將應用程式調整成使用多個 JVM 實例,而不需要群體控制器。在這種拓蹼中,當對「管理中心」發出要求時,可能會將該要求導引至任何執行中的實例,且只有執行該要求的伺服器才具有可見性。

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 建置套件或卡匣會阻止撰寫交易日誌記錄,並使應用程式發生異常狀況,以防列入第二個資源。如此一來,雖然交易仍可以與單一 XA 資源搭配使用,但是無法將第二個交易資源列入交易中。此外,無法使用「Web 服務基本交易」,因為它們一律會撰寫日誌記錄。

如果您的 PaaS 環境提供持續性儲存體,您可以修改 Liberty 建置套件或卡匣,藉由在 JVM 配置中移除下列 Java™ 內容,來啟用兩階段交易:
-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 主機。


指示主題類型的圖示 概念主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=cwlp_paas_restrict
檔名:cwlp_paas_restrict.html