非死book 怎樣實施部署

fmms 12年前發布 | 9K 次閱讀 Facebook

最近一周 非死book 內部放出了一些關于 非死book 的部署流程的消息。如果你不想了解整個內部信息的話,這里我把這些信息做了一個整合概括。這些信息直接來自查克·羅西,而查克·羅西就是 非死book 發布工程組的負責人,這里有瑞恩·保羅對他的采訪:

非死book 發展文化的一個重要方面是開發人員對他們的代碼在產品中的表現完全負責。這一理念反應了 DevOps,這樣可以減小開發人員與運維人員之間的隔閡。

如果在 非死book 更新中任何代碼在產品中出現問題,這些代碼的開發者與修復這些問題掛鉤,必須確保問題盡快被解決。

對于部署來講,非死book 使用:

  • 使用自定義的 BitTorrent 的 P2P 系統
  • 站點更新耗時 15-30分鐘
  • JS、CSS、圖像使用分布式的 CDN

部署步驟

  1. 在進行全面的更新之前,新代碼首先被推送到“A2”層——非死book 的少量公共服務器。這個階段的測試把更新特性隨機暴露給 非死book 的部分正式用戶,但只是所有用戶的一小部分而已。
  2. 在 IRC 上初始化了一個 checkin 過程。此時所有的開發者,不管是提交更新或者沒有提交更新,都會被通知,并要求回應,是否做好了系統全面更新的準備。
  3. 當準備開始實施更新的時候,在一個終端里輸入了一行命令,然后整個過程就開始了。
  4. 通過 非死book 的基于 Web 的監控工具觀察整個更新過程。

有一小部分的服務器在部署過程中會失敗,不過這通常不會造成任何問題。這是因為任何 非死book 服務器能處理任何頁面請求,所以他們不必擔心關于序列化和移植用戶 session 狀態。服務器在升級的過程中能保持收到的頁面請求,就想我們知道的一樣,不會因此而使用戶下線。

部署的頻度

  • 在絕大多數時間里,每個工作日都有一個小規模的更新
  • 每周通常是周二有一個大型更新。

在我們看起來比較好的公司例如 Google、非死book,下面這句話聽起來非常真實可靠:“Release early and often.”

via dzone

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!