11月14日至15日,開源軟件供應(yīng)鏈2020峰會在南京成功舉辦。本次峰會由中國科學(xué)院軟件研究所、openEuler社區(qū)主辦,中國科學(xué)院軟件研究所南京軟件研究所承辦,來自全國各地的開源軟件從業(yè)者、企業(yè)技術(shù)專家、高校及科研機構(gòu)代表、開源社區(qū)代表、學(xué)生等300余人現(xiàn)場參會、2.3萬余人同步線上參會。
會上重點探討開源技術(shù)前沿話題、開源生態(tài)建設(shè)與合作、開源發(fā)展趨勢等內(nèi)容。在【虛擬化&云原生】分論壇,ZStack核心架構(gòu)師&性能工程負責(zé)人 王為做了題為《開源私有云ZStack的架構(gòu)設(shè)計》的精彩分享,重點介紹了ZStack自研核心開源架構(gòu)的技術(shù)原理和應(yīng)用。
我國國情決定了很多機構(gòu)上云轉(zhuǎn)型還需依賴于私有云的建設(shè),而且用戶群體非常多樣化,部署私有云面臨異構(gòu)環(huán)境、縮短上云周期與難度、保證云平臺高可用性等各種挑戰(zhàn)。只有提供產(chǎn)品化、標準化的私有云,才是滿足用戶兼容異構(gòu)、高效及高可用需求的優(yōu)選上云方案。
一、私有云面臨的挑戰(zhàn)有何不同?
從用戶側(cè)需求研究來看,用戶所需要的理想私有云方案,應(yīng)具備:簡單性、穩(wěn)定性、可擴展性、靈活性。
1、簡單性
私有云的架構(gòu)跟公有云是不一樣的,它更像一個generic solution,根據(jù)客戶的通用需求,提取出它最重要的部分,做成的一個軟件,然后通過產(chǎn)品化普及落地。然而大部分國內(nèi)的軟件,經(jīng)常會做成面向客戶定制,或者項目開發(fā)的東西,而ZStack希望做成一個非常generic/標準化,能夠像賣光盤一樣,用戶上來直接就能下載安裝使用的、可縮短上云周期的一個標準化產(chǎn)品。
2、穩(wěn)定性
穩(wěn)定性對于保障企業(yè)的業(yè)務(wù)持續(xù)性、尤其關(guān)乎國計民生的場景中非常重要。比如ZStack的客戶中有的是省界高速收費站系統(tǒng),還有一些大型、重型制造業(yè)的供應(yīng)鏈管理系統(tǒng),這些對時間的要求非常嚴格,這些軟件一旦發(fā)生crash,無法保證它的可用性的時候,會帶來巨大的損失。
3、可擴展性
某些需要并發(fā)快速創(chuàng)建出成百上千虛擬機的場景中,比如很多教育行業(yè)的用戶,實驗室里可能有幾百個學(xué)生,要統(tǒng)一打開一個環(huán)境,然后幾十上百個虛擬機要同時快速啟動......類似這種場景,就反映在云的Scalability(彈性)的難度上。
4、靈活性
不同客戶的需求也不一樣,它們之間可能是相互矛盾的。舉個例子,比如一些分布式系統(tǒng),它可以支撐很大的規(guī)模,但它的應(yīng)用性卻并沒有那么好。而且靈活性和穩(wěn)定性之間也有一定矛盾,當(dāng)靈活性很強的時候,代碼可能會有各種各樣的組合,各種各樣的分支,很難保證測試在每個場景都能測下來,穩(wěn)定性可能會打折扣。
二、私有云開源架構(gòu)的技術(shù)秘籍
針對以上挑戰(zhàn),ZStack從用戶實際需求出發(fā),深度調(diào)研了當(dāng)前主要開源架構(gòu)的優(yōu)缺點,研發(fā)了具有4S特性的私有云開源架構(gòu):
1、簡單(Simple)
ZStack研發(fā)了In-prosessive Microservice Architechture(進程內(nèi)微服務(wù))。具體原理為:
首先,在ZStack開源代碼架構(gòu)里,將不同的模塊進行單獨封裝,通過一個in-memory的message bus 去實現(xiàn)內(nèi)部消息的分發(fā),以及一些公共消息的封裝;再將所有模塊單獨分成一個Java bean,通過message bus來進行內(nèi)外部通信。
其次,通過ansible軟件,實現(xiàn)云平臺部署的全自動。
綜上得到的效果就是,對運維人員來說,ZStack云平臺的運行就是一個統(tǒng)一的進程,但從軟件架構(gòu)上講,它又分了很多模塊,兼具簡單操作與強大性能;對于普通用戶來說,只需要下載一個ISO,就可以在30分鐘以內(nèi)把ZStack云平臺安裝部署起來,真正享受簡單易用的上云體驗。
2、健壯(Strong)
針對穩(wěn)定性,ZStack做了很多測試和Code base的穩(wěn)定性工作,比如通過workflow來將代碼通過各種組合去實現(xiàn)新功能,而不是不斷修改原本的代碼。同時,ZStack支持云主機與管理端的HA、支撐高并發(fā)的API請求、斷電后平臺自恢復(fù)等,確保系統(tǒng)高效和穩(wěn)定運行。
3、彈性(Scalable)
解決可擴展性的核心方法,ZStack主要依靠全異步架構(gòu),即在做架構(gòu)設(shè)計時,為操作系統(tǒng)提供一些異步的接口;異步方法設(shè)置完成后,只需一個很小的線程,就可以支持數(shù)以萬計的API并發(fā)量。
另一方面,采用一致性哈希環(huán)(Consistent Hash Ring),將任意一個資源處理到正確節(jié)點,避免對資源做加全局鎖。在ZStack架構(gòu)里,可以通過一個內(nèi)存隊列來控制并發(fā)級別(Synce level),得到更好的并發(fā)性能。
4、智能(Smart)
ZStack主要通過Plugins和Driver來分離接口和實現(xiàn)。具體來說,通過strategy-Pattem Plugins結(jié)構(gòu),將不同的底層對應(yīng)到同一個接口,再對外提供服務(wù)。
此外,還引入ZStack System Tag Architecture,將MySQL數(shù)據(jù)庫當(dāng)作schema-less 的KV來使用,在其中自定義schema,然后再做解析,以便升級操作。通過這兩種方式,ZStack云平臺的整體靈活性得到大幅提升,便于實現(xiàn)網(wǎng)絡(luò)存儲伸縮和無縫升級新版本的功能。
三、如何成為ZStack的commiter?
以上就是ZStack的架構(gòu)設(shè)計的簡要分享,自2015年開源至今,ZStack在Github中的Star數(shù)量一直保持穩(wěn)步增長;ZStack所發(fā)起并運維的開源社區(qū)zstack.io也聚集了上萬名開發(fā)者;ZStack所聚焦的云計算基礎(chǔ)IaaS層產(chǎn)品,已經(jīng)成為了很多公司進行二次開發(fā)的底座。
大家如果有興趣的話,可以上ZStack社區(qū),自己編譯和自己裝一下ZStack。ZStack的起步非常簡單,只需要有一臺6核或者8核的電腦或者虛擬機就可以部署。
ZStack社區(qū)地址:
https://www.zstack.io/help_support/community_support/
ZStack源代碼托管地址:
https://github.com/zstackio/zstack
https://gitee.com/zstackio/zstack
結(jié)語
開源軟件彼此組合、依賴,連同各個為開源做貢獻的維護者與開發(fā)者,所共同形成的包含上萬節(jié)點的開源軟件供應(yīng)鏈,已經(jīng)是當(dāng)代社會中科技規(guī);瘏f(xié)作發(fā)展的典范模式,也是激發(fā)軟件創(chuàng)新活力的有效手段。ZStack將不忘初心,與各位行業(yè)伙伴齊心協(xié)力,共同促進我國云計算產(chǎn)業(yè)健康發(fā)展,提升我國云計算行業(yè)全球的競爭力。
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹慎對待。投資者據(jù)此操作,風(fēng)險自擔(dān)。
京東11.11采銷直播探廠為消費者揭開答案。近日,京東3C數(shù)碼采銷走進武漢攀升工廠、合肥聯(lián)想工廠和科大訊飛展廳,通過直播帶貨廠商爆款產(chǎn)品,并為消費者帶來超值低價與福利。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來都要半個月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實質(zhì)性的幫助,雙十一期間低至2799元,性價比很高,簡直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會——工業(yè)互聯(lián)網(wǎng)標識解析專題論壇在沈陽成功舉辦。