最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一文詳解如何在 ChengYing 中通過產(chǎn)品線部署一鍵提升效率

2023-05-06 13:43 作者:袋鼠云  | 我要投稿

在之前的內(nèi)容當(dāng)中,我們?yōu)榇蠹医榻B過?ChengYing?的安裝原理、產(chǎn)品包制作等內(nèi)容,本篇就延續(xù)之前的內(nèi)容,和大家展開聊聊 ChengYing 產(chǎn)品線部署相關(guān)的設(shè)計。幫助對「一站式全自動化全生命周期大數(shù)據(jù)平臺運維管家 ChengYing」感興趣的開發(fā)者更好地了解和使用 ChengYing。

產(chǎn)品線部署簡介

首先對 ChengYing 的產(chǎn)品線部署進行一個“自我介紹”,共分為三個部分:

● 支持用戶自定義的產(chǎn)品線

在 ChengYing 中,是以組件包的維度部署服務(wù),比如一個 zookeeper 的產(chǎn)品包,會預(yù)先定義好 ZK 的包上傳到 ChengYing 的系統(tǒng)當(dāng)中,再去選擇要部署的服務(wù)以及給 ZK 編排部署機器,以此完成部署。

對于初學(xué)者來說,當(dāng)需要部署多個服務(wù),這些服務(wù)又有順序依賴關(guān)系時,會不清楚部署的先后順序,從而導(dǎo)致部署非常吃力。因此 ChengYing 支持使用 DAG(有向無環(huán)圖)進行定義靈活可配的組件包部署順序。目的是為了讓熟悉和不熟悉的人都能夠通過預(yù)定義產(chǎn)品線的形式同時部署多個組件包,從而大大提高部署效率。

● 支持服務(wù)的親和性配置

根據(jù)組件包中不同服務(wù)的類型,結(jié)合主機角色信息自動進行服務(wù)主機編排。在接入主機到 ChengYing 系統(tǒng)中時,支持給主機打上對應(yīng)的標(biāo)簽即角色,相應(yīng)角色的組件會部署到相應(yīng)角色的機器上。

● 一鍵自動部署組件包

基于組件包手動部署,同樣的入口,選擇不同的產(chǎn)品線部署方式之后,可一鍵按需迅速完成所需要的多個組件包的同時部署,提高部署效率。

產(chǎn)品線部署設(shè)計

接下來,通過代碼設(shè)計的角度看看 ChengYing 對產(chǎn)品線部署是如何進行技術(shù)設(shè)計的。

什么是 DAG

DAG (有向無環(huán)圖,Directed Acyclic Graph)是一種常用數(shù)據(jù)結(jié)構(gòu),僅就 DAG 而言,它已經(jīng)在我們?nèi)粘5母鞣N工具中存在,如依賴系統(tǒng)、數(shù)據(jù)流系統(tǒng)、數(shù)據(jù)可視化等。當(dāng)我們從任務(wù)編排的角度來看,DAG 面向普通人術(shù)語叫作工作流(Workflow)。

在圖論中, 如果一個有向圖無法從任意頂點出發(fā)經(jīng)過若干條邊回到該點, 則這個圖就是一個有向無環(huán)圖 (DAG 圖)。

ChengYing 產(chǎn)品線部署設(shè)計的核心就是給定一組任務(wù),按照自定義的方式安排它們的執(zhí)行順序,即 DAG。

產(chǎn)品線 DAG 定義

預(yù)先定義某一條產(chǎn)品線中每一個組件包的部署順序,將其關(guān)系使用 DAG 的方式定義為 json 文件,平臺自動解析 json 得到部署順序從而實現(xiàn)自動部署的效果。

· product_line_name: 產(chǎn)品線名稱(可預(yù)定義)

· product_line_version: 產(chǎn)品線版本(可預(yù)定義)

· product_serial: 組件包部署順序(上圖說明 DTBase 的 dependee 為0,表示沒有依賴;DTFront 的 dependee 為1,表示依賴 id 為1的組件包)

產(chǎn)品線 DAG 源碼分析

如果要對復(fù)雜對象排序的話,該排序必須包含 Len,Swap,Less 這三個方法。

下面這段源碼是 DAG 執(zhí)行的核心邏輯,對于源碼的具體解析可以前往視頻進行觀看:

https://www.bilibili.com/video/BV1KV4y1Q7KP/?spm_id_from=333.999.0.0

源碼本身已經(jīng)全部開源,可以前往 ChengYing 的 Github 進行學(xué)習(xí):

https://github.com/DTStack/chengying

服務(wù)親和性配置

服務(wù)親和性的定義指以預(yù)選、優(yōu)選、選定的機制完成將每個新的服務(wù)綁定至為其選出的目標(biāo)節(jié)點上。

在 k8s 中,支持節(jié)點和 Pod 兩個層級的親和性、反親和性調(diào)度,通過配置親和與反親和的規(guī)則,允許指定硬性限制和軟性限制,即偏好。

比如將前端的 Pod 和后端的 Pod 部署在一起,這樣可以減少網(wǎng)絡(luò)延遲?;蚴悄骋活愋偷姆?wù)部署在某一類型的節(jié)點上,不同的應(yīng)用部署在不同的節(jié)點上等。

定義節(jié)點親和性規(guī)則時有兩種類型的節(jié)點親和性規(guī)則 :硬親和性 required 和軟親和性 preferred。硬親和性實現(xiàn)的是強制性規(guī)則,它是 Pod 調(diào)度時必須要滿足的規(guī)則,而在不存在滿足規(guī)則的節(jié)點時 , Pod 對象會被置為 Pending 狀態(tài)。

而軟親和性規(guī)則實現(xiàn)的是一種柔性調(diào)度限制,它傾向于將 Pod 對象運行于某類特定的節(jié)點之上,而調(diào)度器也將盡量滿足此需求,但在無法滿足調(diào)度需求時它將退而求其次地選擇一個不匹配規(guī)則的節(jié)點。

類似于 k8s,ChengYing 中的服務(wù)親和性和反親和性也進行了相應(yīng)的字段設(shè)置:

· orchestration.affinity:數(shù)組,自動編排角色親和性【可選】, 但是沒有該字段的話,該服務(wù)將無法參與自動編排

· orchestration.anti_affinity:數(shù)組,自動編排角色反親和性 【可選】

使用場景

下面來為大家介紹如何在 ChengYing 中使用產(chǎn)品線的部署。

設(shè)置主機角色

在【部署中心】-【集群管理】-【集群詳情】中,可以給節(jié)點編輯對應(yīng)角色。

上傳產(chǎn)品線

角色完成定義之后,就可以在【部署中心】進行部署。支持自動部署(基于產(chǎn)品線順序部署多個組件包,支持主機角色自動編排),手動部署(基于單個組件包部署,支持自定義主機編排)。

只要把產(chǎn)品線和產(chǎn)品包的親和性與反親和性全部定義好之后,開發(fā)者進入這個頁面會非常一目了然,每一個節(jié)點上分配了哪些服務(wù),先后進行怎樣的部署等,一鍵就可以完成這些繁瑣的工作,極大提升部署效率。

視頻課程&PPT獲取

視頻課程:

https://www.bilibili.com/video/BV1KV4y1Q7KP/?spm_id_from=333.999.0.0

課件獲?。?/p>

https://www.dtstack.com/resources/1037

《數(shù)據(jù)治理行業(yè)實踐白皮書》下載地址:https://fs80.cn/l134d5?

《數(shù)棧V6.0產(chǎn)品白皮書》下載地址:https://fs80.cn/cw0iw1

想了解或咨詢更多有關(guān)袋鼠云大數(shù)據(jù)產(chǎn)品、行業(yè)解決方案、客戶案例的朋友,瀏覽袋鼠云官網(wǎng):https://www.dtstack.com/?src=szbzhan

同時,歡迎對大數(shù)據(jù)開源項目有興趣的同學(xué)加入「袋鼠云開源框架釘釘技術(shù) qun」,交流最新開源技術(shù)信息,qun 號碼:30537511,項目地址:https://github.com/DTStack


一文詳解如何在 ChengYing 中通過產(chǎn)品線部署一鍵提升效率的評論 (共 條)

分享到微博請遵守國家法律
将乐县| 祁阳县| 巩留县| 长顺县| 醴陵市| 阜阳市| 和林格尔县| 玉溪市| 育儿| 东至县| 饶河县| 鞍山市| 明溪县| 越西县| 资阳市| 阆中市| 华宁县| 新营市| 东莞市| 白山市| 克什克腾旗| 沅江市| 孝义市| 广汉市| 临沂市| 延寿县| 临清市| 沧州市| 循化| 叙永县| 噶尔县| 扬州市| 九龙县| 广昌县| 道孚县| 天峨县| 宁蒗| 深水埗区| 石屏县| 青浦区| 浠水县|