欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種Docker云平臺(tái)下彈性緩存系統(tǒng)的制作方法_2

文檔序號(hào):9600940閱讀:來(lái)源:國(guó)知局
示節(jié)點(diǎn)1的內(nèi)存使用率,(:1表示節(jié)點(diǎn)1的0?1]使用率小 1表示節(jié)點(diǎn)1的帶 寬使用率。
[0030] 當(dāng)Redis節(jié)點(diǎn)和Proxy節(jié)點(diǎn)的整體負(fù)載計(jì)算完畢后,彈性伸縮引擎會(huì)對(duì)相應(yīng)的兩 個(gè)時(shí)間序列進(jìn)行分析,兩種時(shí)間序列處理方法相同。
[0031] 算法elastic顯示了負(fù)載數(shù)據(jù)時(shí)間序列處理過(guò)程。
[0032]
[0033]Docker集群管理模塊分為宿主機(jī)模式、管理者模式。在管理者模式中,主機(jī)實(shí)際 為宿主機(jī)的代理節(jié)點(diǎn),其保存著所有宿主機(jī)信息,外部使用標(biāo)準(zhǔn)Docker協(xié)議請(qǐng)求管理者管 理宿主機(jī)。新建容器時(shí),管理者用負(fù)載均衡調(diào)度策略將啟動(dòng)容器請(qǐng)求分發(fā)到某個(gè)宿主機(jī),刪 除容器操作只需找到實(shí)際運(yùn)行該容器的宿主機(jī)后,發(fā)出刪除請(qǐng)求。兩種模式的服務(wù)器通過(guò) Etcd集群組成一個(gè)整體的集群。
[0034] 容器守護(hù)進(jìn)程模塊集成在DockerImage中,當(dāng)容器啟動(dòng)時(shí),首先啟動(dòng)容器守護(hù)模 塊。為了方便管理,容器運(yùn)行狀態(tài)信息采用Context結(jié)構(gòu)體描述,并保存其中。
[0035] 容器運(yùn)行狀態(tài)信息定義為:
[0036]
[0038]Webserver啟動(dòng)容器時(shí),將所有容器配置保存在系統(tǒng)參數(shù)中,根據(jù)系統(tǒng)參數(shù)初始化 Context結(jié)構(gòu)體。初始化完畢后,根據(jù)Context啟動(dòng)相應(yīng)容器模式,包括Redis模式、Proxy 模式、Manager模式。
[0039]Redis模式下的容器主要功能是:?jiǎn)?dòng)并注冊(cè)Redis服務(wù)。Redis啟動(dòng)方式分為: 初始化啟動(dòng)與彈性啟動(dòng)兩種啟動(dòng)過(guò)程,可以為master、slave任意類型。
[0040]Proxy模式的主要功能是啟動(dòng)上述的Proxy軟件,收集并注冊(cè)系統(tǒng)狀態(tài)。Proxy模 式的啟動(dòng)方式分為初始化啟動(dòng)和彈性啟動(dòng),兩種啟動(dòng)方式的發(fā)生場(chǎng)景同Redis模式。
[0041]Manager模式是最核心的模式。Manager模式下的容器主要功能是:監(jiān)控集群服務(wù) 器運(yùn)行時(shí)狀態(tài),收集集群負(fù)載信息,處理集群伸縮,slot迀移,管理Proxy節(jié)點(diǎn)和Redis節(jié) 點(diǎn)。Manager啟動(dòng)方式分為:初始化啟動(dòng)和故障后啟動(dòng)兩種方式。
[0042]Client端模塊:用戶使用的Client端節(jié)點(diǎn)必須與緩存系統(tǒng)處于同一網(wǎng)絡(luò)中, Client端模塊通過(guò)TCP/IP協(xié)議與Redis集群通信,通過(guò)HTTP協(xié)議與Webserver模塊通信。 為了確保高效性,采用連接池技術(shù)管理Client與Proxy的所有連接。用戶使用Client端 之前,需要提交用戶名、密碼、Redis集群ID,通過(guò)Webserver模塊進(jìn)行用戶驗(yàn)證。驗(yàn)證通過(guò) 后,Webserver模塊返回相應(yīng)Redis集群的Proxy列表。此外,Client端定時(shí)更新Proxy列 表,保證Proxy列表的正確性。Client端獲取Proxy列表后,可以選擇相應(yīng)的負(fù)載均衡算法 向Proxy發(fā)出讀寫請(qǐng)求。用戶可以自行設(shè)置負(fù)載均衡算法,負(fù)載均衡算法包括:隨機(jī)法、輪 詢法、加權(quán)輪詢法、動(dòng)態(tài)加權(quán)輪詢法、最快響應(yīng)優(yōu)先法。
[0043]Docker鏡像倉(cāng)庫(kù):Docker鏡像倉(cāng)庫(kù)用于保存DockerImage,并為Docker宿主機(jī) 集群提供鏡像下載服務(wù)。本發(fā)明采用建立基于容器的私有Docker鏡像倉(cāng)庫(kù)?;谌萜鞯?構(gòu)建方法先從DockerHub下載Registry鏡像,然后在服務(wù)器中基于該鏡像創(chuàng)建容器,啟動(dòng) 成功后這個(gè)容器便可以向外提供registry服務(wù)。
【附圖說(shuō)明】
[0044] 圖1為系統(tǒng)結(jié)構(gòu)圖;
[0045] 圖2為WebServer模塊結(jié)構(gòu)圖;
[0046] 圖3為Redis集群架構(gòu)圖;
[0047] 圖4為增加Redis服務(wù)組流程圖;
[0048] 圖5為刪除Redis服務(wù)組流程圖;
[0049] 圖6為增加Proxy節(jié)點(diǎn)流程圖;
[0050] 圖7為刪除Proxy節(jié)點(diǎn)流程圖;
[0051] 圖8為Manager節(jié)點(diǎn)故障處理流程圖;
[0052] 圖9為Proxy節(jié)點(diǎn)故障處理流程圖;
[0053] 圖10為Redis master節(jié)點(diǎn)故障處理流程圖;
[0054] 圖11為Docker集群管理中管理者模式工作流程圖;
[0055] 圖12為Docker集群管理中宿主機(jī)模式工作流程圖;
[0056]圖13為容器守護(hù)進(jìn)程模塊Redis模式初始化啟動(dòng)工作流程圖;
[0057] 圖14為容器守護(hù)進(jìn)程模塊Redis模式彈性啟動(dòng)工作流程圖;
[0058]圖15為容器守護(hù)進(jìn)程模塊Proxy模式下初始化啟動(dòng)工作流程圖;
[0059]圖16為容器守護(hù)進(jìn)程模塊Proxy模式下彈性啟動(dòng)工作流程圖;
[0060]圖17為容器守護(hù)進(jìn)程模塊Manager模式初始化啟動(dòng)工作流程圖;
[0061]圖18為容器守護(hù)進(jìn)程模塊Manager模式下故障后啟動(dòng)工作流程圖;
[0062] 圖19為客戶端更新Proxy列表工作流程圖。
【具體實(shí)施方式】
[0063] 下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明 而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià) 形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。
[0064] 圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)圖。系統(tǒng)由Webserver模塊、Docker集群管理模塊、 Docker宿主機(jī)集群、MySQL數(shù)據(jù)庫(kù)、Etcd集群、Docker鏡像倉(cāng)庫(kù)、客戶端組成。
[0065] (1. 1)Webserver模塊為系統(tǒng)核心,負(fù)責(zé)Docker容器的啟動(dòng)與刪除,處理Redis集 群彈性伸縮請(qǐng)求與容災(zāi)方面請(qǐng)求,以及處理Client端各種請(qǐng)求,并為管理員和用戶提供可 視化界面。Webserver使用JS0N作為數(shù)據(jù)交換格式。
[0066] (1. 2)Docker集群管理模塊通過(guò)Etcd集群,管理Docker宿主機(jī)集群,使用標(biāo)準(zhǔn)的 Dcoker協(xié)議管理Docker宿主機(jī)集群。啟動(dòng)時(shí)訂閱相應(yīng)目錄,Docker宿主機(jī)定期將自身信 息發(fā)布到同一目錄。Docker集群管理模塊接收到訂閱的信息后,根據(jù)接收的訂閱信息更新 宿主機(jī)列表及宿主機(jī)系統(tǒng)狀態(tài)。同時(shí),Docker集群管理模塊為Webserver模塊提供服務(wù), 包括收集Docker宿主機(jī)中容器的信息、新建或銷毀容器、定時(shí)收集Docker宿主機(jī)系統(tǒng)狀況 (CPU負(fù)載、內(nèi)存信息、帶寬、1/0信息)。
[0067] (1. 3)Docker宿主機(jī)集群:Docker宿主機(jī)集群有多個(gè)Redis集群構(gòu)成。每個(gè)Redis 集群對(duì)應(yīng)一個(gè)DockerImage。在DockerImage中,集成一個(gè)容器守護(hù)進(jìn)程模塊,以及不同 類型的容器節(jié)點(diǎn)。在Docker宿主機(jī)集群中,容器節(jié)點(diǎn)類型分為Redis模式、Proxy模式和 Manager模式。根據(jù)Docker容器節(jié)點(diǎn)類型的不同,啟動(dòng)相應(yīng)的流程,主要包括啟動(dòng)過(guò)程管 理、節(jié)點(diǎn)狀態(tài)監(jiān)控、彈性實(shí)現(xiàn)、節(jié)點(diǎn)故障上報(bào)。
[0068] (1.4)在Docker云平臺(tái)中,為了實(shí)現(xiàn)多租戶隔離,每個(gè)用戶都有一個(gè)獨(dú)占的Redis 集群。Client端與集群中Proxy節(jié)點(diǎn)可以直接通信。為了確保高可用性,用戶在配置Redis 集群時(shí)可以選擇建立RedisSlave節(jié)點(diǎn),基于Redis的主從復(fù)制功能,slave節(jié)點(diǎn)具有與master節(jié)點(diǎn)相同數(shù)據(jù)。當(dāng)RedisMaster節(jié)點(diǎn)失效時(shí),實(shí)時(shí)地將slave節(jié)點(diǎn)提升為master 節(jié)點(diǎn)。
[0069] (1. 5)Client通過(guò)TCP/IP協(xié)議與Redis集群通信,通過(guò)HTTP協(xié)議與Webserver模 塊通信。Client端的功能是驗(yàn)證用戶身份、更新Docker宿主機(jī)集群的Proxy列表、提供存 取緩存接口。由于Redis集群Proxy節(jié)點(diǎn)不固定,為了確保Client端及時(shí)更新Proxy列表, 采用連接池技術(shù)管理Client與Proxy的所有連接。
[0070] (1. 6)MySQL數(shù)據(jù)庫(kù):用于存儲(chǔ)Webserver模塊的數(shù)據(jù)。
[0071] (1. 7)Ectd集群:用于整個(gè)系統(tǒng)的服務(wù)發(fā)現(xiàn)平臺(tái)。
[0072] (1. 8)Docker鏡像倉(cāng)庫(kù):為Docker宿主機(jī)提供DockerImage下載服務(wù)。本發(fā)明 采用建立基于容器的私有Docker鏡像倉(cāng)庫(kù)?;谌萜鞯臉?gòu)建方法先從DockerHub下載 Registry鏡像,然后在服務(wù)器中基于該鏡像創(chuàng)建容器,啟動(dòng)成功后這個(gè)容器便可以向外提 供registry服務(wù)。
[0073] (1.9)各個(gè)模塊之間的關(guān)系:Client端通過(guò)HTTP協(xié)議,傳輸用戶與驗(yàn)證信息至 Webserver模塊;Webserver模塊將Docker容器控制相關(guān)數(shù)據(jù)、獲取宿主機(jī)狀態(tài)命令發(fā)送至 Docker集群管理模塊;Webserver模塊讀取與寫入宿主機(jī)狀態(tài)、用戶信息至MySQL數(shù)據(jù)庫(kù); Webserver模塊發(fā)送容器啟動(dòng)狀態(tài)信息至Etcd集群;Client端通過(guò)TCP/IP協(xié)議,從Docker 宿主機(jī)集群中讀取緩存數(shù)據(jù)、Proxy節(jié)點(diǎn)列表信息;Docker宿主機(jī)集群傳輸宿主機(jī)狀態(tài)數(shù) 據(jù)、Docker管理數(shù)據(jù)至Docker集群管理模塊;從Docker鏡像倉(cāng)庫(kù)中發(fā)送DockerImage數(shù) 據(jù)至Docker集群管理模塊;Docker宿主機(jī)集群傳輸緩存集群?jiǎn)?dòng)相關(guān)數(shù)據(jù)、Docker容器狀 態(tài)數(shù)據(jù)、彈性事件數(shù)據(jù)、容災(zāi)事件數(shù)據(jù)至Etcd集群。
[0074] 圖2展示了Webserver模塊的組成結(jié)構(gòu)。用戶服務(wù)模塊以B/S訪問(wèn)方式為用戶提 供Redis緩存集群初始化服務(wù)、Redis緩存集群監(jiān)控服務(wù)。管理員服務(wù)模塊以B/S方式為 管理員提供系統(tǒng)整體監(jiān)控服務(wù)。Client服務(wù)模塊主要處理來(lái)自Client的HTTP請(qǐng)求,如用 戶驗(yàn)證、獲得Proxy列表。Docker集群管理模塊通過(guò)Docker管理API實(shí)現(xiàn)Redis集群初始 化模塊、彈性伸縮模塊、容災(zāi)模塊。
[0075] (2. 1)用戶服務(wù)模塊:用戶通過(guò)Web界面配置所需集群,配置項(xiàng)包括初始Redis 服務(wù)組個(gè)數(shù)、彈性高閾值、彈性低閾值、是否保證高可用,選擇完畢后將配置信息提交。系 統(tǒng)分析處理配置信息后,啟動(dòng)所需的節(jié)點(diǎn)容器,Redis集群創(chuàng)建成功,并將集群信息保存到 MySQL數(shù)據(jù)庫(kù)。創(chuàng)建集群后,用戶通過(guò)Web頁(yè)面監(jiān)視集群狀態(tài),包括集群ID值、集群是否成 功啟動(dòng)、緩存大小、每分鐘處理請(qǐng)求數(shù)、命中率、Redis節(jié)點(diǎn)個(gè)數(shù)、Proxy節(jié)點(diǎn)個(gè)數(shù)。
[0076] (2. 2)管理員服務(wù)模塊:管理員登錄后,以網(wǎng)頁(yè)形式提供整個(gè)Docker宿主機(jī)集群 狀態(tài),信息包括:宿主機(jī)數(shù)目、失連宿主機(jī)信息、宿主機(jī)系統(tǒng)信息(如IP地址、CPU使用率、 內(nèi)存使用率、帶寬)、所有Redis集群的信息(如集群ID、Redis節(jié)點(diǎn)信息、Proxy節(jié)點(diǎn)信息 等)。
[0077] (2. 3)Client服務(wù)模塊:Client服務(wù)模塊主要處理來(lái)自Client的HTTP請(qǐng)求,這些 請(qǐng)求包括用戶驗(yàn)證
當(dāng)前第2頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新郑市| 齐齐哈尔市| 会宁县| 昌宁县| 莱芜市| 金门县| 大荔县| 万宁市| 铜川市| 马山县| 江源县| 若尔盖县| 长顺县| 老河口市| 康平县| 呼和浩特市| 吴川市| 满城县| 连江县| 大英县| 贞丰县| 福贡县| 贡嘎县| 嘉善县| 宁武县| 苗栗县| 麟游县| 交口县| 松桃| 丽江市| 巴彦淖尔市| 辉南县| 边坝县| 房山区| 武胜县| 云南省| 平遥县| 阳江市| 汝州市| 垣曲县| 杭锦后旗|