天天看點

《大規模Java平台虛拟化與調優》——1.2 大規模Java平台的趨勢與需求

本節書摘來自華章計算機《大規模java平台虛拟化與調優》一書中的第1章,第1.2節,作者:(美)emad benjaminliang) 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

在大規模java平台的遷移工程中,計算資源合并、jvm執行個體合并、彈性和靈活性以及性能是主要的發展趨勢。以下的各個子章節更為詳細地讨論了每種趨勢。

1.2.1 計算資源合并

很多vmware客戶發現他們的中間件部署快速地膨脹,并且因為成本的不斷增長日益成為管理方面的挑戰。是以,客戶希望虛拟化的方式能夠減少伺服器的數量。與此同時,客戶也希望借助合并的機會來合理化某個特定負載所使用的中間件元件的數量。中間件元件通常會運作在jvm之中,并且規模是成百上千個的jvm執行個體,是以這就提供了很多機會來進行jvm執行個體合并。是以,中間件的虛拟化會帶來兩次合并的機會—首先是合并伺服器執行個體,然後是合并jvm執行個體。這種趨勢得到了廣泛認同,畢竟,地球上的每一家it廠商都在考慮合并所帶來的成本節省。

我們在服務行業的一個客戶經曆了合并伺服器的過程,與此同時,将衆多堆小于1gb的小型jvm進行了合并。他們将大量小于1gb的jvm合并成了兩種類型:一種是4gb的,另外一種是6gb的。他們合并的方式是這樣的,應用所能夠使用的淨ram總量與之前的ram數量是相同的,但是jvm執行個體更少了。通過這種方式,他們提高了性能并且維持了很好的服務水準協定(service level agreement,sla)。同時,還大幅降低了管理的成本,因為與以前相比減少了要管理的jvm執行個體數量,這種精簡的環境幫助他們更容易地維持sla。

另外一個保險行業的客戶也達到了相同的結果,同時他們能夠在開發和qa環境中充分使用cpu,進而降低第三方軟體許可證的成本。

1.2.2 jvm執行個體合并

有時候,我們會遇到這樣的客戶,他們會有合理的業務需求,按照這種需求,某個應用或一條業務線隻會維持一個jvm。在這些場景之中,你無法真正地合并jvm執行個體,因為這樣做會導緻某個業務線應用的生命周期與其他業務線的應用混雜在一起。不過,盡管這些客戶無法從合并jvm所帶來的jvm數量減少中獲益,但他們能夠從更加充分地使用伺服器硬體的可用計算資源方面獲益,在非虛拟化的環境中,這些資源可能沒有充分地得以使用。

1.2.3 彈性與靈活性

越來越多地發現表明應用具有季節性的需求。例如,我們的很多客戶會進行各種市場營銷活動,這使得他們的應用會産生季節性的流量變化。借助vmware,你就能夠處理這種流量的暴增,這是通過當需要的時候自動提供新的虛拟機(vm)和中間件元件實作的。當負載平緩後,還能夠自動地解除安裝這些vm。

對于中間件來說,在更新/增補硬體時,能夠實作不停機是至關重要的,這保證了雲時代的擴充性和系統的正常運作時間。vmware vmotion能夠讓你遷移vm時,無須停止應用或vm。在管理大規模中間件部署環境時,這種靈活性本身就足以使虛拟化中間件成為一件值得嘗試的事情。我們在金融領域的一個客戶,每日會處理百萬級的事務,會經常使用vmotion來安排硬體的更新,這沒有産生任何停機時間。否則,如果安排停機時間,會給他們的業務帶來很高的成本。

1.2.4 性能

客戶經常會報告說,在虛拟化的時候,提升了中間件平台的性能。性能的提升一部分源于更新的硬體,客戶在虛拟化項目的時候通常會更新硬體。一些性能的提升則是因為健壯的vmware hypervisor。vmware hypervisor在過去的幾年中得到了相當大的提升,在第5章讨論了幾個性能方面的案例,展現了在虛拟化環境中所測試的高負載場景。