版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/46390077
架構包含技術的選擇,更多分層等于更高的複雜度,但是輕量級協同設計可以提高品質。最佳實踐也是有使用條件限制的,面對架構要用于質疑。
系統的最大風險
外部接口是系統風險最高的部分之一。
- 關鍵的外部接口有哪些?接口的技術定義是什麼?
- 哪些隊列是通信元件?消息的格式是什麼?
- 同步還是異步?異步連接配接是否有保障?能否亂序傳輸?
- 接口是否幂等?接口的可用性、性能、可伸縮性、安全性?
- 接口的所有權屬?版本的更新處理?服務級别?
系統的常見風險
除了外部接口之外,其他的常見風險如下:
- 元件運作過慢
- 元件無法伸縮
- 關鍵元件崩潰
- 單點故障
- 資料被破壞
- 基礎設施故障
- 磁盤滿
- 新技術過于複雜
文檔
架構需要以文檔的方式回答質疑。
代碼不會講述完整的故事,輕量級文檔來描述代碼之外的問題,如
- 這是關于什麼的?希望能做什麼?
- 品質屬性?限制?原則?
- 軟體架構?外部接口?
- 資料(資料比軟體本身更重要。)?
- 基礎設施架構?
- 部署?營運和支援?
- 決策日志
- ……