視訊:配置 Liberty 和 WebSphere eXtreme Scale 使用階段作業快取管理

以下是「配置 Liberty 和 WebSphere eXtreme Scale 使用階段作業快取管理」視訊的文字稿,說明如何在 Liberty 和 WebSphere eXtreme Scale 中使用階段作業快取管理,藉由將現行應用程式伺服器和資料存取程序卸載到記憶體內的快取,來改良您應用程式的效能。此文字稿是視訊的分鏡腳本。「音訊」說明旁白和標題。「螢幕動作」說明視訊中顯示的內容。

視訊 配置 Liberty 和 WebSphere eXtreme Scale 使用階段作業快取管理

表 1. 簡介. 說明使用 Liberty 和 WebSphere eXtreme Scale 來管理階段作業的優點。
場景 音訊 螢幕動作
1 若要改良您 Web 應用程式效能和可用性,其中一個最有效益且易於達成的配置,是快取您應用程式中的階段作業。如果您有應用程式伺服器,將資訊儲存在階段作業中,則可以將現行程序卸載到記憶體內的快取,如此有助於您的應用程式高速執行。此視訊會協助您這樣做,示範如何利用 Liberty 和 WebSphere eXtreme Scale,快速簡便地設定階段作業管理。

Liberty 是一個快速、輕量又簡單的 Java Web 應用程式儲存器,可供應用程式開發者輕鬆開發、測試和部署應用程式。

顯示視訊的「WebSphere Liberty 充分利用 WebSphere eXtreme Scale 來進行 HTTP 階段作業失效接手」標題。
2 WebSphere eXtreme Scale 提供可在不同機器之間抄寫的分散式記憶體內資料儲存體。 顯示 IBM Corporation 注意事項和免責聲明。
3 此視訊提供使用 eXtreme Scale 進行階段作業快取的概觀。亦提供快速步驟,供開發人員下載 Liberty 和 WebSphere eXtreme Scale。您也將學習如何在 Liberty 中配置 WebSphere eXtreme Scale。最後,會提供一個範例 Web 應用程式,示範如何由 WebSphere eXtreme Scale 管理的記憶體內的資料網格,來失效接手 HTTP 階段作業。 列出視訊內容:
顯示快速示範、設定和 Liberty 與 WXS 的範例

WXS 中的階段作業與資料快取概觀

下載 Liberty 和 WXS 的快速步驟

如何在 Liberty 中配置 WXS

範例 Web 應用程式示範如何由記憶體內的資料網格失效接手 HTTP 階段作業
4 為何「HTTP 階段作業持續性」如此重要?少了 HTTP 階段作業持續性,一旦應用程式實例失敗或變成沒有回應,您將遺失階段作業資料。比方說,在零售實務中,假設使用者將項目新增至購物車,一旦應用程式失敗,且沒有啟用階段作業失效接手,該使用者很有可能得重新登入,並重建其購物列示。通常那樣的經驗,會使客戶感到不快。

開發人員有三個選項,來持續保存 HTTP 階段作業資料:

第一個選項:開發人員可以將階段作業儲存在本端的應用程式伺服器記憶體空間內,但是其他應用程式伺服器實例不共用 Web 應用程式的一般使用者階段作業。如果實例失敗,階段作業會遺失,使用者的體驗不盡理想。

第二個選項:開發人員可以將階段作業持續保存在供實例共用的關聯式資料庫,但是關聯式資料庫的架構原本就有可調整性的問題,且讀取或寫入到磁碟,比記憶體內資料網格還慢。

第三個也是最好的選項是本視訊所突顯的,那就是 Liberty 使用共用持續性引擎,將 HTTP 階段作業資料儲存在一個彈性可調式架構的記憶體中,這種架構即所謂的 WebSphere eXtreme Scale。藉由 Liberty 與 WebSphere eXtreme Scale 搭配使用,可讓二或多個獨立的 Liberty 實例共用 Web 應用程式的一般使用者階段作業。當其中一個實例失敗時,其餘的實例仍可繼續處理使用者要求,彷彿沒發生失敗一般。

如果維護 HTTP 階段作業的高可用性很重要,請使用 WebSphere eXtreme Scale。即使執行時期實例失敗,客戶階段作業仍維護著。客戶不會察覺失敗或維護活動,這樣一來客戶的體驗是一致,並不會感受到干擾或資料遺失。

顯示 HTTP 階段作業失效接手的相關資訊:
親手示範:階段作業快取

Liberty 的 HTTP 階段作業失效接手

客戶在 Liberty 中有一個企業 Web 應用程式,但是他們希望維護 HTTP 的高可用性,因此他們使用 WebSphere eXtreme Scale 來儲存階段作業資料。
5 將 WebSphere eXtreme Scale 與 Liberty 搭配使用,為開發人員提供下列優點:
  • 分散式資料存取,可達高可用性
  • 記憶體內存取,可快速擷取
  • 內建可調整性,超脫關聯式資料庫或記憶體至記憶體階段作業抄寫的傳統方法
  • 遠端存取,可免除單一失敗點
  • 享有在 Liberty 環境中快速配置的好處
顯示 Liberty 資料快取的相關資訊:
Liberty 透過 WXS 來快取資料

支援 Web 和行動式應用程式的分散式快取實務。

將鍵值物件儲存在記憶體內,以便快速存取。

提供線性可調整性、可預測的效能,以及 Web 應用程式資料需求的容錯。
抄寫資料,如此一來,即使快取元件重新啟動,也不會遺失資料或影響效能。

快取是一個可組合元素的範例,可用來快速建置應用程式。
表 2. 示範如何安裝 Liberty 和 WebSphere eXtreme Scale for Developers Liberty. 顯示指令和 server.xml 的變更。
場景 音訊 螢幕動作
6 為了體驗這項功能,您可以在您的開發機器中,快速安裝 Liberty 和 WebSphere eXtreme Scale for Developers Liberty:
  1. 前往 WASdev.net
  2. 下載 Liberty。
  3. 下載 WebSphere eXtreme Scale for Developers Liberty。
  4. 將 JAR 檔安裝到 "hands on" 目錄,這是這項示範的範例目錄。
顯示步驟:
  1. 前往 WASdev 網站。
  2. 選取想試試測試版嗎?
  3. Liberty Repository 中,選取 WebSphere eXtreme Scale for Developers Liberty
  4. 將 JAR 檔安裝在 c:\hands-on> 目錄中。
7 為了以共用的遠端 HTTP 階段作業資料網格形式,來示範 WebSphere eXtreme Scale 的功能,您會看到一個部署在本端 Liberty Web 實例 dropin 目錄中的範例應用程式(來自顯示的 URL),其中顯示一些將階段作業物件放置和擷取到資料網格的範例。 顯示 WebSphere eXtreme Scale HTTP 階段作業範例和 http://ibm.co/1umQ7iy URL 的說明。
8 您將學習如何配置 Liberty 實例,以充當兩個 Liberty Web 實例,來作為 WebSphere eXtreme Scale 資料網格的用戶端。

您將設定 WebSphere eXtreme Scale 伺服器,作為在不同 Liberty JVM 上執行的 HTTP 階段作業儲存庫。

最後,您將配置兩個 Liberty Web 實例,以便將 HTTP 階段作業資料儲存在 WebSphere eXtreme Scale 儲存器的資料網格內。

顯示 HTTP 階段作業失效接手的相關資訊:
親手示範:階段作業快取

Liberty 的 HTTP 階段作業失效接手

客戶在 Liberty 中有一個企業 Web 應用程式,但是他們希望維護 HTTP 的高可用性,因此他們使用 WebSphere eXtreme Scale 來儲存階段作業資料。

圖形顯示連接階段作業快取之 Liberty 中的 ServerA 和 ServerB。

表 3. 示範如何將 Liberty 配置成連接資料網格. 顯示伺服器配置,並在瀏覽器中測試。
場景 音訊 螢幕動作
9 現在,您將學習如何將 Liberty 配置成連接資料網格。藉由安裝 WebSphere eXtreme Scale 和 Liberty,您已能存取若干特性,以用來管理安裝在 Liberty 中的 HTTP 階段作業應用程式。

若為遠端 WXS_Session_Server Liberty 實例,則將設定伺服器特性。伺服器特性提供執行 eXtreme Scale 伺服器的功能,也就是說,eXtreme Scale 型錄和儲存器都在執行中。當您想在 Liberty 中執行型錄伺服器時,或者當您想將資料網格應用程式部署到 Liberty 時,請新增伺服器特性。

webGrid 特性用來在 WXS_Session_Server Liberty 實例中,管理階段作業管理資料網格。Liberty 伺服器可以管理資料網格,快取 HTTP 階段作業資料,然後再加以抄寫,以用於應用程式容錯。

使用 webApp 特性,針對 ServerA 和 ServerB Liberty 實例,啟用階段作業管理。webApp 特性包含延伸 Liberty 應用程式的功能。如果您想要抄寫 HTTP 階段作業資料以用於容錯,請新增 webApp 特性。請記得將catalogHostPort 設為 WXS_Session Server Liberty 實例的主機和埠。

顯示將 Liberty server.xml 配置成執行 WXS 的相關資訊:

伺服器特性提供執行 eXtreme Scale 伺服器的型錄和儲存器兩者的功能。

<feature>eXtremeScale.server-1.1</feature>
<xsServer isCatalog="true"/>

Liberty 伺服器可以管理資料網格,快取應用程式的資料來抄寫 HTTP 階段作業資料,以用於容錯。

<feature>eXtremeScale.webGrid-1.1</feature>
<xsWebGrid objectGridName="session" catalogHostPort="remoteHost:2609" securityEnabled="false"/>

webApp 特性包含延伸 Liberty Web 應用程式的功能。如果您想要抄寫 HTTP 階段作業資料以用於容錯,請新增 webApp 特性。

<feature>eXtremeScale.webApp-1.1</feature>
<httpSession idReuse="true"/>
<xsWebGrid objectGridName="session" catalogHostPort="localhost:2609" securityEnabled="false"/>
10 現在,「階段作業範例應用程式」同時在 ServerA 和 ServerB 實例上啟動。

現在,請檢查並確定 ServerA 中名為 Loc 的階段作業屬性是空的。

此外,也檢查並確定 ServerB 的同一屬性也是空的。

顯示一個開啟於 localhost:9080/HttpSessionWAR/ 的瀏覽器,以及開啟於 localhost:9081/HttpSessionWAR/ 的瀏覽器。這兩個瀏覽器都顯示「WebSphere eXtreme Scale Http 階段作業範例」,且其中沒有設定屬性值。

在開啟於 localhost:9080/HttpSessionWAR/ 的瀏覽器中,顯示在取得屬性中,針對屬性,輸入了 Loc,並且按一下取得屬性。瀏覽器顯示再度歡迎您。已擷取階段作業屬性。Loc 屬性設為 null。然後顯示按一下主頁面,回到上一頁。

在開啟於 localhost:9081/HttpSessionWAR/ 的瀏覽器中,顯示重複這些相同步驟。

11 現在,透過 ServerA 的應用程式,將資料網格中 Loc 階段作業屬性值指定為 NC,並驗證已設定它。

現在,前往 ServerB 階段作業應用程式,並從資料網格中擷取階段作業屬性 Loc

在開啟於 localhost:9080/HttpSessionWAR/ 的瀏覽器中,顯示在設定屬性中,針對屬性,輸入了 Loc,針對,輸入了 NC,並按一下設定屬性。瀏覽器顯示再度歡迎您。已設定階段作業屬性。Loc 屬性設為 NC。然後顯示按一下主頁面,回到上一頁。最後,顯示按一下取得屬性,並顯示 Loc 屬性設為 NC,以及顯示按一下主頁面,回到上一頁。

在開啟於 localhost:9081/HttpSessionWAR/ 的瀏覽器中,顯示按一下取得屬性,並顯示 Loc 屬性設為 NC。然後顯示按一下主頁面,回到上一頁。

12 現在,您可以在 ServerA 非計劃性的模擬停機下,測試此配置,作法是停止 ServerA 的 Liberty 實例,並驗證 ServerB 仍可以從資料網格的階段作業快取中擷取 Loc 階段作業屬性。 顯示 HTTP 階段作業失效接手的相關資訊:
親手示範:階段作業快取

Liberty 的 HTTP 階段作業失效接手

示範伺服器失效,但是仍維護著客戶體驗,並透過整體交易持續保存階段作業。

圖形顯示 Liberty 中的 ServerA 和 ServerB。ServerA 打叉,ServerB 連接至階段作業快取。

13 ServerA 仍在執行中。但是將使用指令行,手動停止 ServerA Liberty 實例。

現在,請前往管理 ServerA 階段作業的瀏覽器,並且重新整理,以顯示無法使用的 Liberty 實例。

顯示開啟於 localhost:9080/HttpSessionWAR/ 的瀏覽器。此外,也顯示在 C:\hands-in\wlp\bin 的指令行中,輸入指令來停止 ServerA:
server stop ServerA

顯示重新整理開啟於 localhost:9080/HttpSessionWAR/ 的瀏覽器。顯示這個網頁無法使用訊息。

14 現在,ServerA 已關閉,您可以驗證 ServerB 仍可在資料網格中偵測到階段作業資料。為此,請將 Loc 階段作業屬性變更為值 MD 在開啟於 localhost:9081/HttpSessionWAR/ 的瀏覽器中,顯示按一下取得屬性,並顯示 Loc 屬性設為 NC。然後顯示按一下主頁面,回到上一頁。

顯示在設定屬性中,針對屬性,輸入了 Loc,針對,輸入了 MD,並按一下設定屬性。瀏覽器顯示再度歡迎您。已設定階段作業屬性。Loc 屬性設為 MD。然後顯示按一下主頁面,回到上一頁。最後,顯示按一下取得屬性,並顯示 Loc 屬性設為 MD,以及顯示按一下主頁面,回到上一頁。

15 現在,您可以模擬 ServerA 回到線上,並且能夠擷取 Loc 屬性的新階段作業值 MD,這是您剛才透過 ServerB 所設定的。

現在,瀏覽器已重新整理,並指向 ServerA,其中,已從資料網格擷取 Loc 屬性的值。

顯示開啟於 localhost:9081/HttpSessionWAR/ 的瀏覽器。此外,也顯示在 C:\hands-in\wlp\bin 的指令行中,輸入指令來啟動 ServerA:
server start ServerA

顯示重新整理開啟於 localhost:9080/HttpSessionWAR/ 的瀏覽器。瀏覽器顯示「WebSphere eXtreme Scale Http 階段作業範例」,且其中沒有設定屬性值。

最後,顯示針對 Loc 屬性按一下取得屬性,顯示它已設為 MD,並顯示按一下主頁面,回到上一頁。

表 4. 結論. 彙總視訊內容,並為觀看者指明其他相關資訊。
場景 音訊 螢幕動作
16 恭喜!您剛建立了您的第一個 Liberty 叢集,內有兩個實例,並指向用來儲存 HTTP 階段作業的共用記憶體內資料網格。 顯示 HTTP 階段作業失效接手的相關資訊:
親手示範:階段作業快取

Liberty 的 HTTP 階段作業失效接手

示範伺服器回復,或是新增至拓蹼的其他 Liberty 實例將立即看見並共用「階段作業快取」。

圖形顯示 Liberty 中的 ServerA 和 ServerB,且這兩部伺服器都連接階段作業快取。

17 在此視訊中,您學習了使用快取來持續保存階段作業的優點。

不需變更應用程式碼,就能充分利用 WebSphere eXtreme Scale 的資料網格。

即使伺服器停機,每一個階段作業的資料都能持續保存。

WebSphere eXtreme Scale 可調整到儲存高達好幾 TB 的資料,並且基於容錯和高可用性,可將資料抄寫到數千個節點。

顯示 Liberty 階段作業管理的相關資訊:
Liberty 透過 WXS 來管理階段作業

在記憶體快取中儲存 HTTP 階段作業資料時,具備特殊用途的彈性。

將 HTTP 階段作業物件儲存和持續保存到資料網格中,因而不必儲存在記憶體中。

利用 J2EE 標準 HTTP 階段作業快取,不需變更應用程式碼。

即使伺服器停機,應用程式的每一個 HTTP 階段作業的資料都能倖存。

開發人員不需費心管理
.
會抄寫階段作業資料,以防單一失敗點。

提供低延遲的資料存取,交易式語意。
18 造訪這些資源,將 WebSphere eXtreme Scale 下載並安裝在 Liberty 上,以及存取這項示範中所用的範例應用程式。

感謝您觀賞,「配置 Liberty 和 WebSphere eXtreme Scale 使用階段作業快取管理」視訊即將結束。

顯示資源:

(WASdev) https://developer.ibm.com/wasdev

(如何安裝 WXS 與 Liberty)http://youtu.be/Zu4Z1GLjMlE

(本示範中使用的範例應用程式)http://ibm.co/1umQ7iy


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

檔名:video_transcript_xs_session_cache.html