網站制作資源抽象層

2022-05-05    分類: 網站制作

資源抽象層主要是將下層的物理硬件資源統一進行抽象,抽象成和單個物理硬件無關的資源集合,上層無須關心物理機器的型號,只需專注于具體的資源即可。
資源抽象層需要重點做好以下三件事。第一,收集和管理具體物理資源;
第二,重新封裝抽象的硬件資源屬性,使之成為上層可以使用的一個實體,既可以是容器也可以是虛擬機或者資源集合;
第三,數據存儲問題。做業(yè)務少不了要在本機存儲數據,這樣機器就成為“有狀態(tài)”的,不利于全局調度資源。為了能夠全局調度,需要解決三個場景下的問題:是數據不需要永久本地存儲但是會實時寫到本地的,如應用的日志;二是需要永久存儲的如DB數據;三是分布式存儲場景中,要做到存儲與計算分離。

資源的收集和管理
資源的收集就是收集物理機的資源,例如當前型號的機器有多少可用的CPU、內存、磁盤等信息,它可以分為四個方面的內容。
第一,資源的信息管理。有多少,用了多少,還有多少;
第二,大量物理機器的集群管理。除了通常幾十萬臺的機器管理功能外,還有一部分的任務管理,如負責接收 Master創(chuàng)建容器的任務等。
第三,資源的合理分配策略和算法。上層的資源請求最終會在每臺物理機上進行分配,那么如何能?這里有根合理的分配策略和算法支撐。
第四,資源的信息管理就是要實現一個CMDB,能管理物理機和 vhost I的關聯關系,必須能管理上萬臺甚至十幾萬臺規(guī)模的機器集群。這樣的機器集群管理框架目前可選的比較少,我們選擇的是 Mesos,主要基于以下兩方面的考慮。一是 Mesos目前相對比較成熟,主流的大公司使用較多,在實際場景中的使用規(guī)模已達5萬臺左右;二是 Mesos擴展性比較好,本身是輕量級的,可以靈活定制各種 Framework滿足業(yè)務需要。
我們分析一下為什么Msos能管理這么大的集群,它的資源分配策略以及它是如何靈活創(chuàng)建各種容器和配置網絡的。 Mesos的集群架構。
Mesos的模塊化設計使得它的集群管理本身可做的事情并不多: Master僅僅把從Save收集的資源數據匯報給 Framework; Master和 Slave通過消息交互消息,不需要一直保持長連接。隨著 Slave規(guī)模的擴大, Master的壓力并不會顯著增長。 Master本身的高可用是通過ZK( Zookeeper)來保證的,整個集群的架構設計非常清晰。
當集群規(guī)模很大時,資源的管理和分配策略就會非常重要。分配策略對于大化充分利用物理資源非常關鍵,所以要自己定制 Framework以便更精細化地分配資源。目前我們設計了4個分配策略。
(1)大內存剩余優(yōu)先分配策略。即集群中內存剩余最多的優(yōu)先分配,目的是充
(2)大CPU剩余優(yōu)先分配策略。類似于內存分配,根據剩余的CPU數優(yōu)先分配給對CPU資源需求大的任務;
3)大最小資源公平分配策略。這種分配是根據當前任務申請的資源,要查看當前集群中的每臺機器、每種資源的使用量是否飽和,優(yōu)先把任務分配給當前最空閑的機器;
(4)根據資源分配指定分配策略。這種方式比較靈活,就是可以根據用戶的需要把任務分配到指定的機器上執(zhí)行,例如可以給一些機器打上標簽,讓某類任務在這些帶有標簽的機器上執(zhí)行。
從上面的介紹可以知道網站制作Framework的修改需要比較靈活的支持,而當前 Mesos的 Framework的更新還比較麻煩。如果要更新 Framework的代碼,就需要重啟每個Slave的 execute,進而可能要停止 Slave上的任務,這在生產環(huán)境中是很難接受的。有鑒于此,我們對 Framework進行了無狀態(tài)設計,在代碼實現上,改用動態(tài)語言如Groovy來編寫需要經常修改的邏輯,這樣Govy實現的代碼就可以動態(tài)加載而不需重啟任務,對 Framework的功能進行調整就非常方便了。

網頁題目:網站制作資源抽象層
網頁URL:http://www.bm7419.com/news7/150307.html

網站建設、網絡推廣公司-創(chuàng)新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

手機網站建設