如果用戶想要在任何地方免費(fèi)托管公共/私有數(shù)據(jù)倉(cāng)庫(kù),可以選擇GitLab.com,已有將近20000人積極地使用GitLab來(lái)托管倉(cāng)庫(kù),并且一臺(tái)服務(wù)器就已托管10萬(wàn)多個(gè)倉(cāng)庫(kù)。
GitLab.com官方網(wǎng)站
單一服務(wù)器
之前,GitLab.com托管在亞馬遜AWS上最高的配置實(shí)例。但隨著用戶數(shù)的增長(zhǎng),局限于只能進(jìn)行垂直擴(kuò)展和CPU綁定,用戶必須尋找AWS替代品。
100K倉(cāng)庫(kù)需要占用好幾個(gè)TB空間,由此存儲(chǔ)能力變得相當(dāng)重要。使用git用戶只能選擇單一的文件系統(tǒng),而不是對(duì)象存儲(chǔ)(比如S3)。用戶希望能夠輕松地?cái)U(kuò)展存儲(chǔ),而應(yīng)用隨著通過(guò)敲擊代碼就會(huì)給CPU帶來(lái)一定的負(fù)擔(dān)。因此,需要更多CPU核心來(lái)減輕高負(fù)載帶來(lái)的壓力。
事實(shí)證明,使用自己的服務(wù)器是迄今為止最具性價(jià)比的方案。
目前,有兩臺(tái)獨(dú)立服務(wù)器用來(lái)運(yùn)行GitLab.com,服務(wù)器配置如下:
●服務(wù)器型號(hào):HP DL180 G6(2009年引進(jìn))
●處理器:2顆X5690(共24核)
●32GB RAM
●12塊2TB硬盤(其中兩個(gè)用于root卷,使用RAID 1,另外10個(gè)磁盤使用RAID 10 ext4文件系統(tǒng))
實(shí)際上,我們開(kāi)始只用了16個(gè)核,但又增加了8核來(lái)取代CPU,從而減少CPU-bound加載。
故障和故障轉(zhuǎn)移
棄用AWS意味著不可以再使用任何功能,為了預(yù)防宕機(jī)等現(xiàn)象發(fā)生需要進(jìn)行故障轉(zhuǎn)移。用戶可以使用DRBD來(lái)創(chuàng)建一臺(tái)主服務(wù)器和一臺(tái)從服務(wù)器,其中一個(gè)服務(wù)器作為應(yīng)用服務(wù)器,并且應(yīng)該是活動(dòng)的,如果出現(xiàn)問(wèn)題,DRBD來(lái)開(kāi)啟另一臺(tái)服務(wù)器作為備用。DRBD工具以及完成構(gòu)建提供給我們的用戶。
此外,GitLab.com目前在已有的硬件上能夠很好的運(yùn)行,但其正以前所未有的速度在增長(zhǎng)。擴(kuò)展當(dāng)前的硬件將會(huì)非常昂貴,而且并不會(huì)輕而易舉完成。未來(lái),GitLab.com將會(huì)再次托管在AWS上面,橫向擴(kuò)展也會(huì)變得簡(jiǎn)單。此外,亞馬遜剛剛宣布了超過(guò)10TB的ESB卷,這將讓遷移變得容易。