許多企業組織正在和IT人員談論,關於向雲環境轉移和/或使用虛擬機器技術,從而獲得更好的可擴充性。 能夠根據需求訪問更多的資源,讓您的企業擁有向內部和外部客戶提供卓越的最終使用者體驗的能力。 應用程式可以運行得更快,並且可在處理網路流量高峰時減少中斷服務。
在分散式伺服器的世界裡,負載均衡是任何系統可擴充性功能的核心方面。 長期的負載均衡工作的秘訣是自動化。 讓我們一起來看看在負載平衡的基礎。 然後,我們可以看看自動化是如何使程式更快,更便宜,更有效的。
什麼是負載均衡? 它是如何工作的?
負載平衡將網站流量分送到多個伺服器,以説明確保資源得到有效利用,並確保每次都沒有伺服器的工作負載過重。 伺服器網路之間分配需求,可以限制時間延遲和提高回應速度。 有了負載平衡,如果一個或多個伺服器由於故障或日常維護而宕機,應用程式將不一定會被徹底關閉。 相反,餘下的伺服器會直接接過任務。 你可以在本地佈置多台伺服器,或者你也可以選擇雲網路模型裡面的分散式伺服器。
在分散式運算雲裡面,伺服器可以位於許多不同的地理區域的安全資料中心中。 即使一個資料中心遭受了自然災害,仍然會有大量分佈在其他地方可用的伺服器來處理工作量。 利用擁有一個完整的基礎設施即服務(IaaS)包的私有雲,負載平衡能夠為一個特定的企業客戶保留的一組專用伺服器。
在公共雲中,您的IP流量與許多其他客戶一起在廣泛分佈的網路伺服器上負載平衡。 從一個真正的可擴充性的角度來看,在公共雲中負載均衡可能是最容易的,因為你可以從主要雲服務提供者那裡得到無限的伺服器資源。 當然,檢查的任何潛在的雲服務提供者的業績記錄也是很重要的,以確保他們的客戶真正有體驗到輕鬆的可擴充性需求的經驗。
關注可擴充性並不意味著整個程式必須轉移到雲上。 也有可以利用的混合選項。
例如,亞馬遜提供了2個EC2(亞馬遜彈性雲端運算)版本的Zeus(流量管理器和簡單的負載等化器),允許企業和小型企業客戶根據需求在雲上均衡網路流量負載。 這給客戶提供了兩種選擇,正常流量的時候使用本機伺服器,而流量高峰期則暫時擴展到雲上。
與廠商探討負載均衡
在購買可擴充性負載平衡工具時需要詢問的一些功能:
具有收集在分配工作量中使用的詳細即時統計資料的能力。 單獨使用歷史資料作出預測,是一個萬無一失方式,防止猜測錯誤。
一個虛擬的網路環境,表現為一個單一的伺服器設備資源。 當涉及到管理雲應用程式時,這是一個重要的特性。 一個簡單的介面,使管理工作變得更容易。
負載均衡服務,可以在應用層「看到」負載,而不是僅僅在實例層。 在雲中可能存在大量的應用實例同時運行時,這是可擴充性中的一個方面。
負載平衡器本身具有創建新實例的能力,並且在必要的時候配置平衡器滿足客戶的要求。 理想的情況下,應該有一個應用程式開發介面(API)支援特定商務應用程式的高度集成。
負載平衡包括監控功能,以識別不健康的應用實例,並且把它重新定向到健康的實例。 僅僅因為一個伺服器或應用程式是「可用的」,並不意味著它處於最佳運作狀態。
自動擴展的能力,基於預設的閾值,使更多額外的虛擬伺服器能夠被添加--當有新的伺服器時,能夠在現有的和新加入的伺服器之間自動重新均衡工作量。 這種重新均衡應該發生任何服務中斷,重新開機,或IT方面需要的其他請求的時候。
自動化問題
在雲上負載平衡從理論上聽起來非常好。 但它不是由於魔法而發生的。 例如,一個企業組織可能會選擇追求在存放區域網路(SAN)上存儲整合,以更好地利用伺服器硬體資源。 有許多公司已經嘗試過這種方法,發現他們不斷地重新延展工作量,以避免空間或存儲的限制。
這是一個勞動密集型,重複的任務,隨著時間的推移,資料量趨於增加,並且工作量本身也處於波動狀態。 手動處理此過程中涉及到分析當前和預測的容量和性能需求,提供額外的存儲配置,重新配置應用程式,關閉和重新開機伺服器和應用程式等。 每次當工作量有顯著的變化時,或一些伺服器將超過負載,而另一些保持空閒時,就必須重複這個過程。
在這種情況下,總是會有資源消耗,但沒有被有效使用。 負載均衡任務也有可能佔用IT管理員的所有有效時間。 更糟的是,因為這種類型的預測和計算需要執行適當的負載平衡是如此的複雜並且相互關聯,因此偶爾會發生錯誤。 當擴大或縮減資源的需求提高時,任何的誤算都會都回增加伺服器宕機時間。
使用虛擬化技術,就不必手動重新配置資源和自動化,確保資料是最優的放置在存放區域網路(SAN),從而節省IT部門的時間和金錢。 這些功能可以大大提高性能。 它只是一個簡單的問題,然而這個工作使用軟體比人做得更好。 有許多平凡的,重複的系統維護任務,適合這一類--但卻遠遠超出這個存放區域網路(SAN)的例子。
當然,自動化僅僅和執行創建的腳本一樣好。 無論硬體價格如何變動都沒有關系,只要你設計的JAVA應用程式不能最好的利用伺服器--無論在本地或在雲上。
(責任編輯:蒙遺善)