eBay 架構經驗
- Partition Everything 切分萬物
- Asynchrony Everywhere 處處異步
- Automate Everything 全部自動
- Remember Everything Fails 記錄失敗
- Embrace Inconsistency 親不同是謂大同
- Expect (R)evolution 預言演變
- Dependencies Matter 重視依賴
- Be Authoritative 獨斷專行
- Never Enough Data
淘寶架構經驗
- Partition Everything 切分萬物
- 適當放棄一致性
- 備份和隔離解決穩定性問題
- 分割和異步解決性能問題(類似 eBay 的 Asynchrony Everywhere)
- 自動化降低人力成本(類似 eBay 的 Automate Everything)
- 產品化管理
Flickr架構經驗
- 使得機器自動構建 (Teach machines to build themselves)
- 使得機器自監控(Teach machines to watch themselves)
- 使得機器自修復(Teach machines to fix themselves)
- 通過流程減少 MTTR (Reduce MTTR by streamlining)
架構的關注點是系統。其全名本來也是系統架構。它是系統級的主題。它當然也屬于系統設計過程的一個部分。只是與面向對象聚焦于業務領域不同,它聚焦于解決所有系統共同的問題,或者說與業務邏輯無關的問題。
上面所列出的技術,其實可以全部歸結為對以下技術的采用:
- 自動化
- 錯誤記錄
- 異步
- 接受不一致性即適當地放棄正確性
- 對系統進行適當的抽象定義(橫向與豎向。模塊與方面。數據分割。。。模塊,方面,分割的數據都是一種抽象。定義是為了管理。沒有定義就沒有管理。定義是管理的前提。要不然,“管理”什么?)
- 可進化性
- 面向用戶(即產品化。產品化指的是從產品的角度對產品進行包裝,,包括產品服務,錯誤,交互,UI等等)
- 隔離(管理依賴--剔除不必要的依賴,管理必要的依賴)
- 使得機器自監控(Teach machines to watch themselves)