資料介紹
軟件簡(jiǎn)介
DINP是又一個(gè)基于Docker開發(fā)的PaaS平臺(tái)。
DINP 包含如下組件:
-
dinp-server?master組件,控制集群中所有計(jì)算節(jié)點(diǎn)
-
dinp-agent?Agent,部署在所有計(jì)算節(jié)點(diǎn),收集各個(gè)節(jié)點(diǎn)運(yùn)行狀態(tài)和container列表
-
dinp-builder?編配平臺(tái),負(fù)責(zé)把用戶代碼打包為Docker image
-
dinp-dash?Dashboard,用戶操作的入口
-
dinp-common?公共函數(shù)、數(shù)據(jù)結(jié)構(gòu)
之所以用了“又”字,是因?yàn)楝F(xiàn)在的PaaS平臺(tái)著實(shí)很多,DINP只不過是又造了個(gè)輪子,下面給大家說說這個(gè)輪子與其他輪子的不同點(diǎn)。
1. DINP只接管web應(yīng)用
PaaS平臺(tái)是個(gè)規(guī)范性很強(qiáng)的平臺(tái),app要用PaaS托管,必須要滿足1、2、3...n條規(guī)范才可以。web應(yīng)用通常無狀態(tài),邏輯簡(jiǎn)單,部署方式統(tǒng)一故而可以使用PaaS托管。但對(duì)于一些分布式大型軟件、復(fù)雜的rpc服務(wù),部署架構(gòu)復(fù)雜,并不適合用PaaS托管。有所為有所不為,DINP只接管web應(yīng)用。
2. DINP不接管代碼的編譯環(huán)節(jié)
像tsuru之類的PaaS,從代碼的push就開始接管了。他們通常要求用戶把代碼push到指定repo的指定分支,以此觸發(fā)git receiver,git receiver與后端其他組件協(xié)同,拉取用戶最新代碼,下載dependency,編譯,打包等等。但是在國(guó)內(nèi),因?yàn)橐恍┰?,下載dependency是一個(gè)很費(fèi)勁的過程。如果這個(gè)動(dòng)作放到平臺(tái)來做,用戶每次要上線了都要等待一個(gè)漫長(zhǎng)的過程是不可接受的。
所以,DINP不接管代碼的編譯環(huán)節(jié),需要用戶自己通過科學(xué)上網(wǎng)的方式搞定。比如Java,用戶把最終的war包扔給DINP即可,而不能是扔一堆.java源文件和pom.xml;比如Golang,用戶把編譯好的二進(jìn)制扔給DINP即可,而不能扔一堆.go源文件;比如Python,用戶最好提前下載好相關(guān)lib庫(kù),然后加入環(huán)境變量,而不是提供一個(gè)pip_requirements.txt,當(dāng)然,對(duì)于一些特別容易安裝的lib庫(kù),用戶提供一個(gè)pip_requirements.txt也未嘗不可,DINP也支持,但是不推薦。
3. DINP夠簡(jiǎn)單
如果你對(duì)Docker比較熟悉,那DINP對(duì)你來說會(huì)很簡(jiǎn)單,我們并沒有做太多事情,你理解起來也會(huì)相對(duì)輕松。PaaS中需要一個(gè)通用打包規(guī)范,我們使用了Dockerfile;PaaS中需要一個(gè)SCM存放發(fā)布包,我們使用了Docker Registry;PaaS中需要一個(gè)container來run app,我們使用了Docker。另外PaaS中需要一個(gè)七層router,我們使用了CloudFoundry提供的gorouter。DINP的絕大部分組件都是Golang寫的,靜態(tài)編譯的語言部署起來超方便。Dashboard和UIC是用Java寫的,基于JFinal框架,很簡(jiǎn)單的,相信我
4. DINP的架構(gòu)
?
a. 用戶把代碼打包為.tar.gz,交給Builder打包為一個(gè)Docker image
b. 拿到Builder產(chǎn)出的Docker image去Dashboard創(chuàng)建一個(gè)App,設(shè)置好實(shí)例數(shù)、內(nèi)存大小、image地址,O了。Dashboard把用戶填寫的這些信息寫入MySQL
c. Server定期從MySQL同步用戶期望的數(shù)據(jù),姑且稱之為desired state
d. 部署在所有計(jì)算節(jié)點(diǎn)的Agent與Server之間有心跳通信,收集本機(jī)的剩余內(nèi)存量和container列表,姑且稱之為real state
e. Server對(duì)比desired state和real state,發(fā)現(xiàn)某個(gè)App的實(shí)例數(shù)少了就去調(diào)度新的計(jì)算節(jié)點(diǎn)創(chuàng)建新實(shí)例,如果發(fā)現(xiàn)某個(gè)App實(shí)例數(shù)多了,就干掉多余的實(shí)例
f. Server同時(shí)會(huì)分析real state,組織出路由信息寫入redis
g. Router定期從redis中獲取路由信息
h. Router通常部署多個(gè),前面部署LVS,注冊(cè)一個(gè)域名,比如apps.io,把*.apps.io這個(gè)泛域名解析到LVS VIP,整個(gè)流程就通了
5. 服務(wù)接入
如果你玩過CloudFoundry,會(huì)很敏感的發(fā)現(xiàn),DINP沒有接管MySQL、Memcache、Redis、MQ等等服務(wù)。為什么呢?我們的想法是這樣的:專業(yè)的人做專業(yè)的事,在公司里,MySQL、Redis之類的服務(wù)已經(jīng)有DBA團(tuán)隊(duì)運(yùn)維管理了很久了。他們是最懂的人,他們已經(jīng)形成了一整套成熟的部署規(guī)范,運(yùn)維流程。只要提供一個(gè)連接地址,一個(gè)賬號(hào)讓PaaS上的App連上去就行了,何必非要把MySQL與DINP做很強(qiáng)的關(guān)聯(lián)整合呢
- docker常用基礎(chǔ)命令 2次下載
- AM5708平臺(tái)移植ubuntu系統(tǒng)和docker容器
- OKT507-C_Docker編譯環(huán)境指導(dǎo)_V1.0
- Docker Oracle Oracle的開發(fā)包
- Docker_FrontEnd Docker搭建前端開發(fā)環(huán)境
- 阿里云服務(wù)器Centos8.2安裝Docker說明書下載 1次下載
- 云芯一號(hào)測(cè)評(píng)3:Docker基礎(chǔ)使用測(cè)試
- Using docker for embedded systems development 用Docker做嵌入式開發(fā),有想法
- Docker + 嵌入式開發(fā)
- 中億智聯(lián)云PAAS平臺(tái)PPT介紹 0次下載
- 一種基于鏡像層觀念的Docker注冊(cè)表緩存預(yù)取策略 16次下載
- 集成Docker容器的OpenStack云平臺(tái)性能研究 0次下載
- Paas技術(shù)概述及特點(diǎn) 11次下載
- 實(shí)例分析Docker改名Moby 0次下載
- WISE-PaaS 物聯(lián)網(wǎng)軟件平臺(tái)服務(wù) 0次下載
- 手動(dòng)構(gòu)建Docker鏡像的方法 214次閱讀
- 適合大學(xué)生的鴻蒙開發(fā)板-Purple Pi OH之安裝Docker 365次閱讀
- 如何使用 Docker容器化技術(shù) 1.5w次閱讀
- 使用Docker安裝WordPress教程 1349次閱讀
- 用Docker搭建更酷的本地開發(fā)環(huán)境 602次閱讀
- Docker的安裝與使用 1779次閱讀
- docker的4種網(wǎng)絡(luò)模式配置 1268次閱讀
- docker的4種網(wǎng)絡(luò)模式 1591次閱讀
- Docker鏡像的詳細(xì)講解 2006次閱讀
- 詳解Docker容器和Docker鏡像 3420次閱讀
- Docker里玩轉(zhuǎn)PetaLinux的上手教程 2345次閱讀
- 數(shù)據(jù)庫(kù)到底要不要上Docker 2316次閱讀
- docker存儲(chǔ)驅(qū)動(dòng)的工作原理 4472次閱讀
- 什么是paas平臺(tái)_paas邏輯架構(gòu)圖 2.9w次閱讀
- 阿里云是iaas還是paas_iaas與paas區(qū)別 6.5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多