精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Digg架構史:無數個如果會帶來無數個故事

譯文
運維 系統運維
Digg的興起,衰落,背后的工程團隊也經歷了各種重組。從幾個人開始到四十多人,再縮減到十數人,團隊的管理發生了怎樣的變化?Digg的研發團隊是如何進行開發、測試與交付的?Will介紹了很多好玩的故事,對其他技術團隊而言,是寶貴的經驗。以下是Will博客的全文翻譯。

【51CTO精選譯文】編者按:之前一個月,Digg宣告被Betaworks收購,很多工程師由此成為了新公司的一員,本文作者Will Larson便是其中之一。這篇博客不是要討論Digg的產品決策或者是未來的計劃,而是純粹討論Digg背后的技術實現。Digg的興起,衰落,背后的工程團隊也經歷了各種重組。從幾個人開始到四十多人,再縮減到十數人,團隊的管理發生了怎樣的變化?Digg的研發團隊是如何進行開發、測試與交付的?Will介紹了很多好玩的故事,對其他技術團隊而言,是寶貴的經驗。

以下是Will博客的全文翻譯。

一個月之前,隨著Digg v1的二度啟動,歷史似乎再一次回到原點。而我們對于Digg的記憶也隨著四個月前Digg技術團隊加入SocialCode而逐漸模糊。現在似乎是回顧過去的最佳時機,讓我們一起來看看從2010年5月到2012年5月,Digg.com是如何在杰出的系統及團隊手中一步步構筑成形的。

本文無心涉及任何爭論、也不打算渲染過多細節,我們要做的只是告訴大家自己的工作經歷與所建立的架構。

團隊結構、規模及組織方式

我們首先要介紹的是公司規模、團隊組織方式以及一系列裁員、招聘給人員結構帶來的影響,這算是必要的背景介紹。

出于文章核心話題的考慮,我不會討論與銷售、財務、廣告管理、設計、人力資源、業務拓展團隊等有關的內容;他們當然也是公司的重要組成部分、曾為企業帶來不可磨滅的貢獻,但這并不是本文要討論的主題。

Digg組織架構

我們的故事從一套非常傳統的企業布局開始,這里擁有特色鮮明的產品、工程技術及運營管理機制。產品團隊規模很小,只有四名成員、運營團隊則擁有大約八位工程師、品質保障部門有六位工程師、而開發團隊則包含大約二十位開發人員。

開發團隊本身的結構很單純,包括四大橫向部門(前端、API、平臺以及基礎設施)與兩大縱向部門(廣告和分析)。產品團隊的運營工作由功能性劃分、遵循縱向管理機制,協作方案則采用與各開發團隊橫向聯合的方式。

在經歷了數次裁員及集體離職的沖擊之后,組織結構最終回歸到極簡化的初始狀態。

Digg組織架構

在過去的一年中,我們的運營團隊只有三位成員、工程技術團隊有七位成員,而廣告團隊則有四位成員。

代碼審查與持續部署

在處理核心開發實踐的階段,我們的工程師隊伍一度擴張到四十人,但隨后又縮減為十四人?,F在我們來看看整個開發實踐流程,包括如何處理合并工作、審查并部署代碼。

 

Digg的Git發布流程

現在具體闡述以上流程圖所表達的信息:

1.    我們使用Git作為源代碼控制工具,使用Gerrit作為代碼審查工具。每一段代碼都需要接受審查并獲得批準,同時必須通過所有單元測試。

2.    每當有補丁集被提交至Gerrit做代碼審查,Jenkins都會自動運行其單元測試流程,并在測試結束后將成功或者失敗結果遞交Gerrit作為審查依據。

也就是說,代碼審查人員不必在那些被自動流程檢測出問題的補丁身上浪費時間。這同時意味著我們從來不會把那些無法通過單元測試的殘缺代碼合并到Git資源庫當中。

3.    一旦補丁集通過了Gerrit測試并獲得代碼審查人員的批準,這些代碼就會被合并到Git主分支當中,并通過Puppet以自動化形式部署到測試環境下。在順利部署到測試環境下并成功通過了集成在該環境中的測試流程后,這些新的補丁集就會被合并到Git中的產品分支里。

4.    我們以手動方式處理Jenkins工作并部署至產品環境,更新代碼的部署工作則由Puppet負責。

接下來我們著手進行產品的持續部署,但在經歷了幾次嚴重的部署事故之后,我們決定委派專項人員處理這類工作,直到確認所有產品化流程都完全達到我們的預定效果。

如果遇上不得不采取持續部署的情況,我們決定進一步改善自己的測試機制,以保證盡量不讓問題漏網。但這么做有點事倍功半,我們其實沒那么多時間做這些繁瑣的工作。

在我看來,這套審查、測試及代碼部署系統堪稱Digg項目成功的最大功臣,同時也是代碼部署工作的一大建設性突破。它的結構非常科學,足以在保證代碼標準的同時承受技術團隊由四十人縮減為十四人所帶來的人力匱乏。

應急流程與實踐

我們零零散散采用過很多實踐方案,但大多數都是被現狀推著走,而不是提前做好了充分準備。

1.    剛開始我們將單元測試的覆蓋率定得非常高,但隨著團隊規模的萎縮,我們不得不放棄了對新測試內容的補充。這顯然算不上明智的決定,但在當時的情況下,我們不得不棄車保帥。經過討論,我們認為單元測試在避免關鍵性故障方面的效果并不理想,例如在生產負荷下與多種組件相關的系統問題以及前端渲染問題等。

單元測試是我們的驕傲,在之后的幾年中它一直努力工作并幫我們解決了很多大麻煩。而Selenium測試則沒那么好運,它幾乎在我們停止維護的同時就瞬間失靈了,而且隨品質保障團隊的離去一道徹底告別了我們。

2.    我們利用Thrift來定義并區分前端及平臺團隊的專屬接口,這些接口的作用是為不同團隊之間的溝通與協作提供橋梁。當然我們也果斷舍棄了很多存在設計缺陷的接口,它們都或多或少給工作造成過負面影響。不過總體而言,利用Thrift來定義團隊之間的類型與接口非常明智,它為我們提供了非常實用的溝通渠道。

3.    我們很少會對現有Thrift接口進行改動,一般更傾向于針對需要的功能推出新接口、更新客戶端使功能奏效然后刪除舊接口。這種處理方式有點尷尬,但是由于我們是以獨立方式分別部署前端及后端代碼的(而且會花幾分鐘時間把全部前端或后端服務器跑一遍),因此這是最安全也最理智的方式。畢竟隨意改動會帶來不可知的后果,我們可不想讓多年的心血毀在自己魯莽的嘗試中。

4.    我們利用一種新機制來啟動所有前端變更,并將其帶入用戶的子集中或者在出現問題時加以禁用。這種方式令我們將部署與試運行分離開來,進而保證了代碼部署工作的安全性與穩定性,同時也賦予了我們準時完成新功能開發的能力。

起初我們打算利用這種機制對新功能進行A/B測試,但后來我們發現它最大的價值在于管理發行版以及收集來自受信任用戶群組的反饋意見。

我們還啟用了一些后端功能,希望借此解決極端情況下的性能或負載沖擊。萬事想在前頭才好,否則出現問題時我們只能盯著Jenkins的進度條手足無措了。

聊完了過去的開發歷程,我們再來看看開發出的系統成品。

康威如是說,或者叫“架構”

如果大家看了我們在設計v4架構時所采用的組織結構,再看看我們開發出的架構,就會發現這基本上就是康威定律的現實版體現(編輯注:康威定律根據計算機科學家Melvin Conway而命名,定律的大意就是:“任何一個設計系統的團隊,其設計出來的架構總會帶著團隊本身組織架構的條條框框”)。

我們擁有一個API團隊和一臺API服務器、一個前端團隊和一臺前端服務器、一個平臺團隊和一臺后端服務器、一個廣告團隊和一臺廣告服務器、一大堆由基礎設施團隊管理著的存儲數據以及專為分析團隊準備的Hadoop集群。

Digg技術選型

 

也就是說,對我們的團隊規模而言,這是一套非常標準的組織結構。其中前端團隊負責通過PHP/HTML/JS進行統一開發,狀態及存儲則由后端服務器管理,同時消息隊列則處理長時間運行的項目以及非事務類流程。

最特別的方面當數后端服務器了,這些Thrift服務器以gevent為基礎。但遺憾的是我們連一臺標準的高性能Python Thrift服務器也沒有,所以花了大量時間與gevent打交道,并想盡辦法讓gevent能安全地服務于客戶端池。另外我們還盡量避免在Python服務器上使用Thrift,這么做主要是為了減少同類服務器的使用量。

同時管理PHP及Python服務器的感覺令人抓狂,我的心中一直回響著“我從來沒想到會遇到這種情況”的聲音。但實踐出真知,我發現實際操作中并沒出現過太大的問題:在過去的一年時間里,我們團隊中的幾乎每位成員都以輕松愉快的心情同時使用這兩種語言,我也沒聽到過什么抱怨之聲。

作為力求系統產品完美的設計人員,使用Tornado、Apache+modwsgi+Pylons以及Python gevent服務器的現狀令我心生憤懣,不過跟上面幾個問題一樣,實際操作中沒遇到過什么障礙(但這要歸功于Jenkins與Puppet在系統部署方面的幫助,沒有它們倆相信整個流程會變得更加枯燥而痛苦)。

結束語

總而言之,我認為我們的流程及架構非常合理,而且也很適合我們的工作習慣。如果我們的項目今天才剛剛開始,那么采用的方案很可能完全不同;如果我們的團隊沒有經歷嚴重人員流失、如果我們沒有因為資金不足而不得不同時管理多套遺留系統與API……無數個如果會帶來無數個故事,這些有趣的話題不妨今后慢慢聊。

在為Digg付出了無數個日夜的辛勤勞作后,我認為圍繞數據庫與技術增值話題同樣值得寫一篇專題(包括Cassandra, MySQL, Redis, Memcache, HDFS, Hive, Hadoop, Tornado, Thrift servers, PHP, Python, Pylons, Gevent等等),但現在我還需要積蓄一些靈感。

又或者談談我們的組織結構給我們的開發工作帶來了哪些影響?下一次我們再繼續討論吧。

原文:http://lethain.com/digg-v4-architecture-process/

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2019-01-25 08:28:48

攝像頭智慧城市數字網膜

2023-03-08 07:19:57

2020-04-28 08:10:42

編程Resflux應用

2012-10-19 14:14:51

Ubuntu 12.1

2012-06-07 14:56:35

搜狗

2021-01-14 05:08:44

編譯鏈接

2021-01-15 23:28:50

區塊鏈開發數字化

2017-12-29 08:54:58

高可用數據庫架構

2018-11-30 10:59:49

2022-11-27 17:21:04

ClickHouseJDBC函數

2012-06-29 10:22:36

系統架構

2012-10-09 10:16:35

創業投資項目

2025-04-17 08:23:55

DataStore本地存儲

2020-10-12 19:50:30

TCP窗口時間戳SACK

2017-06-08 09:50:00

2023-08-30 19:16:22

新華三

2020-08-18 10:33:47

智能手機相機計算
點贊
收藏

51CTO技術棧公眾號

亚洲成人三级| 欧美三级在线免费观看| 色尼玛亚洲综合影院| 国产亚洲自拍一区| 成人免费淫片视频软件| 黄色一级视频免费| 欧美禁忌电影| 欧美一级欧美一级在线播放| 欧美色图色综合| 日韩av中文| 91在线视频观看| 成人黄色中文字幕| 69视频免费在线观看| 91精品啪在线观看国产18| 亚洲国产精品999| 手机免费av片| 亚洲第一av| 亚洲欧美区自拍先锋| 快播亚洲色图| www.天堂在线| 九一久久久久久| 欧美一级大片在线免费观看| 久久国产精品国语对白| 国产精品嫩草影院在线看| 欧美成人精品高清在线播放| www.精品在线| 欧美aa视频| 精品国产31久久久久久| 4444在线观看| 午夜在线免费观看视频| 26uuu久久天堂性欧美| 97av自拍| 国产欧美综合视频| 日本不卡一区二区| 日本一本a高清免费不卡| 久久久久久免费观看| 国产精品久久久久久久| 亚洲欧美资源在线| 大地资源二中文在线影视观看 | 第一会所亚洲原创| 亚洲精品电影在线观看| 香蕉久久久久久av成人| 97久久中文字幕| 欧美网站一区二区| 天天碰免费视频| 欧美黄色网页| 一本色道久久综合狠狠躁的推荐 | 鲁片一区二区三区| 成人午夜免费在线观看| 国产精品白丝av| 亚洲自拍另类欧美丝袜| 国内精品久久久久久久久久| 国产一区二区三区国产| 91精品在线影院| 97国产成人无码精品久久久| 久久国内精品自在自线400部| 国产精品久久久久久久美男| 中文字幕 人妻熟女| 日本特黄久久久高潮| 国产精品成人一区二区| 精品一区二区无码| 日本不卡视频在线观看| 成人激情黄色网| 精品黑人一区二区三区国语馆| 国产精品一二三区在线| 高清国语自产拍免费一区二区三区| 性做久久久久久久久久| 成人午夜激情在线| 精品国产一区二区三区日日嗨 | 久久蜜桃一区二区| 日韩视频专区| 国产原创视频在线观看| 亚洲黄网站在线观看| 可以看毛片的网址| 无遮挡在线观看| 日本黄色一区二区| 日韩av卡一卡二| 婷婷视频一区二区三区| 亚洲国产精品免费| 最近中文字幕免费| 国产精品传媒精东影业在线| 欧美激情视频在线免费观看 欧美视频免费一 | 日本黄在线观看| 亚洲国产精品二十页| 在线综合视频网站| 久久www人成免费看片中文| 欧美日韩国产色视频| av网站在线不卡| 日韩成人18| 亚洲视频在线播放| 日韩一级片av| 久久亚洲图片| 97在线电影| 欧美扣逼视频| 亚洲黄色av一区| 国语对白做受xxxxx在线中国| 91精品福利观看| 日韩精品免费综合视频在线播放| 69xxx免费| 亚洲国产mv| 国产精品视频网| 日韩中文字幕综合| 国产精品麻豆视频| 国产免费黄色小视频| 国产人妖一区| 亚洲美女性视频| 校园春色 亚洲| 美女性感视频久久| 久热这里只精品99re8久| av免费网站在线| 91久久精品国产91性色tv| 在线观看你懂的视频| 欧美肉体xxxx裸体137大胆| 欧美激情视频三区| 国产又粗又猛视频| 久久久精品黄色| 僵尸世界大战2 在线播放| 999精品嫩草久久久久久99| 亚洲乱码国产乱码精品精天堂| 久久久久久视频| 日本美女视频一区二区| 好吊色欧美一区二区三区视频| 日本视频不卡| 欧美三级电影在线观看| 波多野结衣福利| 红桃视频亚洲| 99re在线国产| 超碰个人在线| 欧美日韩国产片| 摸摸摸bbb毛毛毛片| 亚洲在线黄色| 国产日韩一区二区| 天天色天天射天天综合网| 制服丝袜一区二区三区| 天天干天天操天天拍| 日本亚洲最大的色成网站www| 久久综合一区二区三区| 超碰资源在线| 亚洲成人精品久久久| 欧美另类视频在线观看| 国产乱码精品一品二品| 老司机午夜免费福利视频| 亚洲精品一区av| 久久精品亚洲一区| 国产精品国产三级国产aⅴ| 国产精品久久久久一区二区三区 | 成人黄色av| 国产精品流白浆视频| 国产对白叫床清晰在线播放| 色先锋资源久久综合| 美女100%无挡| 日本特黄久久久高潮| 色一情一区二区三区四区| 日韩毛片一区| 精品国产一区二区三区久久久 | 日韩高清精品免费观看| 成人动漫中文字幕| 一二三四视频社区在线| 色老板在线视频一区二区| 欧美专区在线观看| 国产高清av在线| 欧美日本国产一区| 久久久久亚洲av无码专区体验| 国产成人综合在线观看| 欧美一级欧美一级| 蜜桃成人av| 国产欧美在线播放| gogo在线高清视频| 亚洲高清久久网| 波多野结衣在线电影| 国产精品毛片a∨一区二区三区| 香蕉视频xxxx| 日韩亚洲精品在线| 日韩精品伦理第一区| 在线播放成人| 91极品视频在线| 不卡在线视频| 精品久久国产老人久久综合| www.伊人久久| 亚洲视频免费在线观看| 你懂得在线视频| 美腿丝袜一区二区三区| 国内自拍中文字幕| 九九热爱视频精品视频| 91久久久久久久久| 黄色激情在线播放| 在线观看国产精品日韩av| www.久久综合| 日本精品视频一区二区| 紧身裙女教师波多野结衣| 99久久伊人久久99| 欧美美女一级片| 亚洲二区免费| 在线观看亚洲视频啊啊啊啊| 久久男人av| 91麻豆国产精品| 麻豆国产在线| 久久成人精品电影| 黄色在线免费观看大全| 日韩一区二区三区四区五区六区| 狠狠人妻久久久久久综合| 亚洲美女在线国产| 少妇久久久久久久久久| 国产成人啪午夜精品网站男同| 亚洲色欲综合一区二区三区| 在线看片不卡| 日韩欧美在线电影| 精品精品国产毛片在线看| 国产日韩欧美在线视频观看| 天堂电影一区| 欧美黄色片视频| 九七电影韩国女主播在线观看| 国产丝袜精品视频| 午夜精品无码一区二区三区| 精品污污网站免费看| 日韩大片免费在线观看| 依依成人综合视频| 黄色av片三级三级三级免费看| 91污片在线观看| 91精品人妻一区二区三区四区| 美女网站色91| 男女男精品视频站| 久久成人免费| 丰满爆乳一区二区三区| 影音先锋一区| 日韩精品手机在线观看| 99久久婷婷国产综合精品电影√| 欧美一区二区视频17c| 精品国内亚洲2022精品成人| 国产精成人品localhost| 中文字幕日韩亚洲| 国产美女被下药99| 四虎4545www精品视频| 欧美做受高潮1| 天堂在线中文网官网| 亚洲3p在线观看| heyzo高清中文字幕在线| 欧美国产日产韩国视频| 羞羞视频在线观看不卡| 欧美丰满少妇xxxx| 女囚岛在线观看| 九九视频这里只有精品| 在线三级中文| 久久久免费精品| 中文字幕资源网在线观看| 久久香蕉国产线看观看av| 麻豆影院在线观看| 欧美xxxx18国产| 伊人影院蕉久影院在线播放| 欧美精品在线极品| 日本性爱视频在线观看| 久久久久久尹人网香蕉| 草草在线观看| 日产日韩在线亚洲欧美| 97久久香蕉国产线看观看| 国产精品久久久久久久久久久不卡| 国产综合色在线观看| 国产精品久久久久久久久久ktv| 国产福利亚洲| 国产欧美久久一区二区| 国产视频网站一区二区三区| 99九九视频| 日本妇女一区| 午夜精品一区二区在线观看的| 欧美日韩一二三四| 亚洲av综合色区| 亚洲精品123区| 一本色道无码道dvd在线观看| 美女一区二区视频| 下面一进一出好爽视频| 波多野结衣中文字幕一区| 成人精品999| 一区精品在线播放| 香蕉视频一区二区| 在线区一区二视频| 国产精品一区二区av白丝下载| 精品国产人成亚洲区| 国产在线观看免费网站| 美女扒开尿口让男人操亚洲视频网站| 成人在线高清免费| 国产成人精品网站| 精品一区二区三区四区五区| 国产日韩二区| 国产高清久久| 国产中文字幕视频在线观看| 全部av―极品视觉盛宴亚洲| 永久看看免费大片| 久久综合视频网| 午夜激情福利网| 日韩欧美在线网址| 国产女人高潮毛片| 亚洲情综合五月天| 99热国产在线| 国产精品69久久| av不卡一区| 曰韩不卡视频| 久久精品三级| 制服下的诱惑暮生| 国产农村妇女毛片精品久久麻豆| 久久成人国产精品入口| 欧洲一区二区av| 日本精品久久久久| 久久精品国产欧美激情| 日韩电影免费观| 国产伦精品一区二区三毛| 手机亚洲手机国产手机日韩| 男女激情无遮挡| 国产一区在线视频| 高清国产在线观看| 精品久久久久久久久国产字幕 | 日韩精品中文字幕在线| wwwav在线| 国产欧美一区二区| 国内黄色精品| 亚欧无线一线二线三线区别| 国产精品1区二区.| 免费91在线观看| 91精品福利视频| 五十路在线视频| 欧美激情国产精品| 国产精品**亚洲精品| 日韩三级电影网站| 老**午夜毛片一区二区三区 | 日韩av不卡电影| 欧美做受69| 国产乱淫av片杨贵妃| 国产精品18久久久| 熟女少妇a性色生活片毛片| 欧美在线免费视屏| 精品视频二区| 热99精品只有里视频精品| 秋霞影院一区二区三区| 3d动漫一区二区三区| 成人黄色大片在线观看| 国产真实的和子乱拍在线观看| 日韩一区二区三区在线视频| 菠萝菠萝蜜在线视频免费观看| 91欧美日韩一区| 一区二区电影在线观看| 91aaa精品| 亚洲精品欧美综合四区| 国内精品国产成人国产三级| 久99久在线视频| aaa国产精品| 和岳每晚弄的高潮嗷嗷叫视频| 粉嫩蜜臀av国产精品网站| 妺妺窝人体色www婷婷| 亚洲成色777777女色窝| 超碰91在线观看| 蜜桃av噜噜一区二区三区| 免费在线观看成人av| 免费人成又黄又爽又色| 欧美体内she精视频| 77导航福利在线| 成人在线中文字幕| 欧美a级一区| 中文成人无字幕乱码精品区| 黑人狂躁日本妞一区二区三区 | 欧美另类极品videosbest最新版本 | 久久av免费观看| 久久精品毛片| 亚洲色图日韩精品| 欧美一区二区三区在线看| 欧美午夜大胆人体| 久久99精品久久久久久秒播放器| 久久资源在线| 午夜国产小视频| 亚洲成人精品视频| 欧美xxx视频| 大桥未久一区二区| 成人av资源网站| 黄色大全在线观看| 欧美精品免费在线| 欧美调教视频| 在线观看国产福利| 亚洲自拍偷拍欧美| 可以免费看污视频的网站在线| 国产欧美在线视频| 影音先锋亚洲一区| 精品亚洲aⅴ无码一区二区三区| 91麻豆精品国产综合久久久久久 | 国产精品一区二区女厕厕| 欧美国产高潮xxxx1819| 野花社区视频在线观看| 欧美日韩在线播放| 91桃色在线| 中文字幕一区二区三区有限公司| 成人三级在线视频| 亚洲精品久久久久久久蜜桃| 欧美巨大黑人极品精男| 国产成人三级| 永久看看免费大片| 欧美自拍丝袜亚洲| a√中文在线观看| 一区二区三区四区五区视频| 99亚偷拍自图区亚洲| 国产精品久久久久毛片| 欧美伊久线香蕉线新在线| 伊人久久大香线蕉精品组织观看| 中国美女乱淫免费看视频|