精品欧美一区二区三区在线观看 _久久久久国色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国产精品| 日韩人体视频一二区| 国产免费色视频| 亚洲人午夜射精精品日韩| 麻豆精品视频在线观看免费| 性日韩欧美在线视频| 亚洲色图100p| 亚洲精品推荐| 日韩精品一区二区三区视频 | 久久五月天小说| 精品国产乱码久久久久久图片| 国产超碰在线播放| av福利在线导航| 国产精品素人一区二区| 黄色99视频| 99热这里只有精品99| 日韩av在线播放中文字幕| 久久久久久久久久亚洲| 亚洲熟女少妇一区二区| 九九热爱视频精品视频| 精品国产露脸精彩对白| 中文 日韩 欧美| 日本成人福利| 色婷婷亚洲一区二区三区| av免费看网址| 图片区小说区亚洲| 最近中文字幕一区二区三区| 日本欧美精品久久久| 污视频网站在线播放| 成人免费高清视频在线观看| 91亚洲午夜在线| 中文字幕在线播出| 老牛嫩草一区二区三区日本| 欧美亚洲国产成人精品| 免费一级特黄特色大片| 欧美ab在线视频| 久久精品久久久久久| www.4hu95.com四虎| 韩日一区二区三区| 亚洲女成人图区| a视频免费观看| 嫩草国产精品入口| 日韩成人久久久| 西西大胆午夜视频| 图片婷婷一区| 日韩国产欧美精品一区二区三区| 精品人妻伦一二三区久| 97久久综合区小说区图片区| 亚洲成人中文字幕| 亚洲精品中文字幕在线播放| 天海翼精品一区二区三区| 精品无码久久久久久国产| 中国极品少妇videossexhd| 波多野结衣欧美| 亚洲精品一区二区三区福利| 日批在线观看视频| 亚洲电影一级片| 在线成人激情视频| 日本在线观看网址| 88国产精品视频一区二区三区| 久久久精品中文字幕| 国产精品白嫩白嫩大学美女| 黄色亚洲在线| 欧美最猛性xxxx| 久久久国产免费| 久久99精品久久久久婷婷| 成人亚洲激情网| 后进极品白嫩翘臀在线视频| 91婷婷韩国欧美一区二区| 日韩av电影免费观看| 亚洲搞黄视频| 一区二区三区中文字幕精品精品| 隔壁人妻偷人bd中字| 亚洲欧美电影| 欧美日韩国产首页| 国产精品久久久久野外| 黄色美女久久久| 亚洲日韩第一页| 亚洲人与黑人屁股眼交| 激情欧美亚洲| 国产精品盗摄久久久| 国产乱码精品一区二区| 成人午夜视频在线观看| 在线激情影院一区| 91久久久一线二线三线品牌| 国产精品久久影视| 成人成人成人在线视频| 日韩妆和欧美的一区二区| 国产精品久久麻豆| 五月天激情小说综合| 啊啊啊国产视频| 中文久久电影小说| 亚洲日韩欧美视频一区| 激情五月婷婷小说| 国产精品久久国产愉拍| 成人福利免费观看| 人妻妺妺窝人体色www聚色窝| 国产欧美日韩综合| www.夜夜爱| 精品69视频一区二区三区| 亚洲成色www8888| 国产精品免费在线视频| 亚洲国产国产亚洲一二三| 国产精品视频999| 天天干天天爽天天操| ㊣最新国产の精品bt伙计久久| 少妇人妻大乳在线视频| 亚洲视频自拍| 亚洲免费人成在线视频观看| 欧美日韩免费做爰视频| 麻豆一区二区三| 免费观看成人在线| 美足av综合网| 日韩视频一区二区三区| 中文字幕av久久爽一区| 国产视频欧美| 国产高清精品一区| av在线网址观看| 欧美日韩国产综合视频在线观看 | 美女久久久久久久久久久| 99久久精品国产亚洲| 国产91丝袜在线播放0| 中文字幕在线中文字幕日亚韩一区| 欧美特黄aaaaaaaa大片| 亚洲韩国青草视频| 精品肉丝脚一区二区三区| 国产做a爰片久久毛片| 日韩av不卡播放| 欧美日韩视频网站| 亚洲精品在线91| 亚洲男人的天堂在线视频| 成人黄色国产精品网站大全在线免费观看| 夜夜爽www精品| 看片一区二区| 色偷偷噜噜噜亚洲男人| 在线观看中文字幕码| 亚洲国产精品国自产拍av| 成人免费毛片播放| 国产精品一线天粉嫩av| 欧洲日韩成人av| 日韩电影免费| 色综合天天综合狠狠| 免费毛片视频网站| 日日夜夜免费精品| 青娱乐国产91| 成人黄色视屏网站| 日韩在线免费观看视频| 97成人在线观看| 亚洲女同女同女同女同女同69| 中文字幕成人免费视频| 国产精品久久观看| 亚洲自拍小视频| 男人添女人下部高潮视频在线观看| 欧美成人性福生活免费看| 久久久久久久国产视频| www.在线欧美| 久久久久狠狠高潮亚洲精品| 国产一区二区三区日韩精品| 国产精品成人v| 黄色一级大片在线免费看产| 日韩欧美黄色影院| 日本中文字幕免费观看| 91在线免费视频观看| 国产福利一区视频| 欧美激情黄色片| 99高清视频有精品视频| 国产高潮在线| 在线电影av不卡网址| 国产精品久久777777换脸| 亚洲激情欧美激情| 波多野结衣有码| 免费观看在线色综合| 日韩最新中文字幕| 国内自拍欧美| 国产精品女人网站| 狂野欧美性猛交xxxxx视频| 日韩av网站大全| 综合久久中文字幕| 亚洲一级二级在线| 久久精品—区二区三区舞蹈| 黄一区二区三区| 免费成人在线视频网站| 欧美国产偷国产精品三区| 国产精品手机在线| 国产91精品在线| 久久久久久久久91| 成人免费高清在线播放| 日韩精品影音先锋| 波多野结衣高清在线| 亚洲综合无码一区二区| 91激情视频在线观看| 成人精品一区二区三区中文字幕| 欧美国产日韩在线播放| 国产综合自拍| 亚洲欧洲一区二区| 日本午夜精品久久久| 成人性生交大片免费看小说| 亚洲av无码乱码国产精品fc2| 久久99精品久久久久久园产越南| 国产精品高潮呻吟久久av野狼| 国产区在线看| 亚洲午夜小视频| 国产刺激高潮av| 欧美色爱综合网| 一级片免费网址| 成人欧美一区二区三区白人| 日本少妇色视频| 国产精品一区二区免费不卡| 黄色三级视频在线| 国产精品毛片| av动漫在线播放| 我不卡神马影院| 视频一区亚洲| 一道本一区二区三区| 97se亚洲综合在线| 午夜精品久久久久久毛片| 亲爱的老师9免费观看全集电视剧| 亚洲色图美国十次| 久久精品国产v日韩v亚洲| 欧美日韩影视| 亚洲精品www久久久| 精品免费久久久| 欧美精品在线视频| 中文字幕在线观看欧美| 色综合久久久久综合| 日本少妇激情视频| 亚洲福利视频一区二区| 久久97人妻无码一区二区三区| 成人欧美一区二区三区白人| 91香蕉国产视频| 国产精品久久国产精麻豆99网站| 69视频在线观看免费| 久久这里只有精品首页| 国产传媒第一页| www国产亚洲精品久久麻豆| 香蕉视频污视频| 成人在线视频一区| 精品人妻一区二区三区日产| 不卡欧美aaaaa| 精品国产人妻一区二区三区| 99热这里都是精品| 国产ts丝袜人妖系列视频| av亚洲精华国产精华| 丝袜熟女一区二区三区| 波多野结衣中文字幕一区二区三区 | 欧美性猛交xxxx乱| 国产视频在线观看一区二区三区| 亚洲精品成人无码熟妇在线| 久久色视频免费观看| av直播在线观看| 国产亚洲精品超碰| 老司机福利在线观看| 中文字幕欧美一| 成人在线观看免费完整| 亚洲精品免费在线播放| 久一区二区三区| 欧美天堂在线观看| 免费污污视频在线观看| 欧美日韩一区不卡| 国产免费福利视频| 日韩视频免费观看高清完整版 | 日韩精品在线视频免费观看| 亚洲国产专区| 国产a级一级片| 免费在线观看不卡| 91蝌蚪视频在线| 波多野结衣91| 调教驯服丰满美艳麻麻在线视频 | 日韩福利视频在线观看| 精品美女视频在线观看免费软件| 在线播放亚洲激情| av在线免费网站| 91精品国产91久久久久久| 日韩精品99| 成人欧美一区二区三区黑人| 97久久亚洲| 日韩亚洲视频在线| 欧美久久九九| 欧美日韩在线免费播放| 国产精品正在播放| 精品少妇一区二区三区免费观| 国产精品传媒在线| 久热这里只有精品在线| 欧美视频一区二区| 丰满少妇一级片| 亚洲色图欧美制服丝袜另类第一页| 欧美日韩视频在线播放| 午夜精品久久久久久久99热| 国产精品久久久久久妇女| 成人做爰66片免费看网站| 国产一区二区三区四区二区| 欧洲金发美女大战黑人| 老**午夜毛片一区二区三区 | 欧美成人在线免费| 亚洲最大网站| 99精彩视频| 久久国产亚洲| 国产肥臀一区二区福利视频| 极品美女销魂一区二区三区免费 | 日韩高清三区| 无码人妻aⅴ一区二区三区日本| 久久久久久久波多野高潮日日| 在线观看你懂的视频| 国产精品欧美一区喷水| 日韩黄色一级大片| 日韩一级黄色片| 香蕉视频在线看| 国产精品激情自拍| 香蕉久久夜色精品国产更新时间| 日韩一级特黄毛片| 久久精品av麻豆的观看方式| 性欧美13一14内谢| 五月婷婷欧美视频| 国产高清免费在线观看| 三级精品视频久久久久| 精品肉辣文txt下载| 久久精品国产一区二区三区日韩| 亚洲一本二本| 欧美国产日韩另类 | 日韩男人的天堂| 日韩欧美一级片| а√天堂8资源在线官网| 国产99在线|中文| 亚洲ab电影| 日本精品一区二区三区四区| av色综合久久天堂av综合| 免看一级a毛片一片成人不卡| 欧美精品自拍偷拍动漫精品| 午夜激情视频在线观看| 国产精品日韩在线播放| 精品久久久中文字幕| 韩国一区二区av| 久久精品夜夜夜夜久久| 东京热一区二区三区四区| 亚洲精品一线二线三线| 久草在线视频资源| 国产91视觉| 亚洲精品韩国| 亚洲国产综合视频| 一本色道久久加勒比精品| 天堂中文字幕在线| 国产成人av在线| 国产传媒欧美日韩成人精品大片| 人妻熟女一二三区夜夜爱| 久久久噜噜噜久久中文字幕色伊伊 | 影音先锋成人在线电影| 91人妻一区二区三区| 亚洲精品国产一区二区精华液 | 色婷婷综合久久久久中文字幕| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 佐佐木明希电影| 亚洲成人激情自拍| 四虎影院在线播放| 国产精品69久久| 色综合蜜月久久综合网| 国产又粗又长又爽又黄的视频| 亚洲精品免费在线播放| 女人18毛片水真多18精品| 欧美一区第一页| 成人嘿咻视频免费看| 一级片免费在线观看视频| 亚洲国产aⅴ天堂久久| 深夜福利在线观看直播| 国产精品热视频| 亚洲欧美文学| 中出视频在线观看| 欧美日韩在线综合| 日韩专区av| 免费国产一区| 国产一区二区导航在线播放| 精品少妇一二三区| 亚洲少妇激情视频| 国产剧情一区二区在线观看| 久久视频这里有精品| 国产女人aaa级久久久级| 性生交大片免费看女人按摩| 欧美一区二区三区图| 久久视频精品| 久久性爱视频网站| 欧美日韩国产a| 麻豆免费版在线观看| 水蜜桃一区二区三区| 国产成人av影院| 午夜久久久久久久久久影院| 欧美精品免费在线| 欧美人与拘性视交免费看| 在线观看中文av| 色域天天综合网| 色yeye免费人成网站在线观看| 欧美一区二区三区四区在线观看地址 |