成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Travis CI: 最小的分布式系統(tǒng)(一)

開發(fā) 前端 分布式
Travis CI 一開始僅僅是個想法,在當時甚至還有些理想化。在這個項目啟動之前,開源社區(qū)還沒有一個可用的持續(xù)集成系統(tǒng)。

Travis CI 一開始僅僅是個想法,在當時甚至還有些理想化。在這個項目啟動之前,開源社區(qū)還沒有一個可用的持續(xù)集成系統(tǒng)。

隨著作為開源協(xié)作平臺的Github越來越被人認可,Github也非常需要可以持續(xù)對貢獻代碼進行測試的服務,來保證一個開源項目始終處于穩(wěn)定健康的狀態(tài)。

Travis CI開始于2011年初,而且很快得到了一些試用客戶。到了2011年夏天,我們每天進行700次構建。所有這些構建都是在一臺構建服務器上進行的。Travis CI跟Github***集成,目前Github還是Travis CI的主要平臺。

Travis CI在持續(xù)集成領域并沒有驚天動地的大動作,但它的確重新定義了一些原有的概念,并增加了一些新的想法。其中一個就是你可以在你的測試運行過程中,接近實時的看這個項目的構建日志流。

最重要的一點,Travis CI允許你通過源碼里的文件(.travis.yml)來對構建過程進行配置,而不是復雜的用戶界面。

The_Smallest_Distributed_System_01

Travis CI一開始的架構很簡單。通過Web組件可以讓項目和它的構建過程可見,同時,只要一個新的commit提交到了項目,Travis CI就可以接收到來自Github的消息,從而觸發(fā)構建。

另外一個叫做hub的組件,是負責處理新的提交,將他們轉化成一次構建,并且處理構建任務運行和結束時產生的結果數(shù)據(jù)。

這兩個組件都是跟PostgreSQL數(shù)據(jù)庫打交道。

第三部分就是用來控制構建任務本身的線程集合,它們可以用來在虛擬機實例上執(zhí)行一系列的命令。

The_Smallest_Distributed_System_02

 

本質上,hub會顯得比其他部分稍微復雜一些。當hub處理構建日志時,它需要與RabbitMQ進行消息傳遞。日志會以chunks流的形式從控制構建任務的線程中得到。

Hub更新數(shù)據(jù)庫中的日志和構建結果信息,并且hub推送他們到Pusher。通過Pusher,Travis CI可以在構建開始或結束的時候更新用戶界面。

這樣的架構一直維持到了2012年,當時我們每天進行7000個構建任務。我們欣喜的看到Travis CI在開源社區(qū)越來越廣泛的使用,并且開始支持11種語言,包括PHP,Python,Perl,Java 和 Erlang。

隨著越來越多的使用,Travis CI越來越像是一個開源項目的必備服務了。但是不幸的是,這個系統(tǒng)從一開始構建的時候就沒有考慮過監(jiān)控。

The_Smallest_Distributed_System_03

過去,總是來自社區(qū)的用戶通知我們系統(tǒng)沒有正常運行,構建任務遇到異常,或是任務信息沒有被處理好。

那可真是令人尷尬。我們的***個挑戰(zhàn)就是給系統(tǒng)增加監(jiān)控,數(shù)據(jù)指標和日志,讓Travis CI從一個業(yè)務愛好的項目轉變?yōu)橐粋€重要的商業(yè)平臺。我們準備發(fā)布Travis CI的正式生產版本。

被用戶告知系統(tǒng)沒有正常運行直到今天仍然是我***的噩夢,我們不得不努力工作建設好數(shù)據(jù)監(jiān)控,以使系統(tǒng)能夠在出現(xiàn)問題的一開始就及時通知。

如果沒有任何數(shù)據(jù)記錄或者良好的日志,我們根本不可能去搞清我們這個小分布式系統(tǒng)到底發(fā)生了什么。無論是從哪個方面看,Travis CI都已經是一個分布式系統(tǒng)了。

加入監(jiān)控指標和日志是一次循序漸進的學習過程,但是最終,它們讓我們可以了解這個系統(tǒng)正在做什么,無論是通過圖表還是日志。

這對我們而言是一個巨大的提升。可見性對于運行一個分布式系統(tǒng)是非常重要的。

當你寫一個系統(tǒng)時,考慮好如何監(jiān)控它。

做好監(jiān)控會有助于你的系統(tǒng)更好的在生產環(huán)境運行,而不僅僅是通過測試。

關鍵是,更多的監(jiān)控不僅僅是讓你可以對系統(tǒng)更了解,你也會發(fā)現(xiàn)那些你以前未曾想到或見到的問題。系統(tǒng)更高的可見性帶來更多的責任感。現(xiàn)在我們需要去面對這樣的事實:我們對系統(tǒng)的錯誤有了更多的了解,所以我們必須更有效的工作來減少這些錯誤所帶來的影響。

原文鏈接:http://www.paperplanes.de/2013/10/18/the-smallest-distributed-system.html

 

譯文鏈接:http://blog.jobbole.com/52397/

責任編輯:陳四芳 來源: 伯樂在線
相關推薦

2013-12-20 09:43:13

分布式

2013-12-06 09:37:49

分布式系統(tǒng)Travis CI

2023-05-12 08:23:03

分布式系統(tǒng)網絡

2023-02-11 00:04:17

分布式系統(tǒng)安全

2023-05-29 14:07:00

Zuul網關系統(tǒng)

2022-02-22 09:00:00

軟件開發(fā)CI/CD 管道工具

2017-10-27 08:40:44

分布式存儲剪枝系統(tǒng)

2023-10-26 18:10:43

分布式并行技術系統(tǒng)

2020-01-17 09:07:14

分布式系統(tǒng)網絡

2016-10-25 14:35:05

分布式系統(tǒng) 存儲

2019-07-17 22:23:01

分布式系統(tǒng)負載均衡架構

2017-12-05 09:43:42

分布式系統(tǒng)核心

2023-04-26 08:01:09

分布式編譯系統(tǒng)

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2023-10-08 10:49:16

搜索系統(tǒng)分布式系統(tǒng)

2019-06-19 15:40:06

分布式鎖RedisJava

2011-04-18 14:43:23

分布式測試分布式測試

2010-03-24 17:07:52

無線分布式系統(tǒng)

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2010-11-01 05:50:46

分布式文件系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线视频免费观看 | 久久精品国产久精国产 | 男女午夜激情视频 | 欧美日韩一区二区在线观看 | 97人人超碰 | 国产亚洲精品成人av久久ww | 午夜专区 | 国产在线观看一区二区 | 成人午夜在线 | 成人综合在线视频 | 一区二区在线不卡 | 成人一区二区三区在线观看 | h片在线看 | 一级黄色毛片免费 | 久久中文免费视频 | 国产成人精品一区二区三区网站观看 | 欧美黑人巨大videos精品 | 综合久 | 久久久www成人免费无遮挡大片 | 久久久亚洲一区 | 中文字幕乱码一区二区三区 | 黄网免费看| 欧美成人综合 | 影音先锋欧美资源 | 午夜精品一区二区三区免费视频 | 中文字幕日韩一区 | 亚洲欧美精品久久 | 国产在线一区二区三区 | 一级看片 | 午夜成人在线视频 | 男女视频在线观看免费 | 亚洲国产精品精华素 | 国产精品亚洲精品 | 毛片免费在线 | 成人久久| 成年人精品视频 | 视频一区二区在线观看 | 午夜电影网址 | 国产精品久久久久久52avav | 国产精品成人一区二区 | 日本国产高清 |