- 分布式系統架構:架構策略與難題求解
- (美)尼爾·福特等
- 426字
- 2023-11-02 19:40:51
1.4 架構決策記錄
記錄架構決策的最有效方式之一是通過架構決策記錄(ADR;https://adr.github.io)。ADR源自Michael Nygard的一篇博客(https://oreil.ly/yDcU2),后來被Thoughtworks Technology Radar(https://oreil.ly/0nwHw)評定為“采納”。一份ADR由一個簡短的文本文件構成(通常只有一兩頁長),描述一個具體的架構決策。雖然ADR可以使用純文本編寫,但人們通常會使用文本文檔格式,例如AsciiDoc(http://asciidoc.org)或Markdown(https://www.markdownguide.org)。ADR也可以使用wiki頁面模板來編寫。在Fundamentals of Software Architecture(O'Reilly)一書中,我們用整整一章來介紹ADR。
我們將使用ADR來記錄本書中的各種架構決策。對于每一個架構決策,我們將使用如下的ADR格式:
ADR:包含架構決策的簡短名詞短語
上下文(context)
在該部分,我們會加一兩句話來描述它所要解決的問題,并羅列可選的解決方案。
決策(decision)
我們將在這里詳述架構決策,并解釋為什么這樣做。
后果(consequence)
該部分會列舉采用這個架構決策后產生的影響,并討論為此考慮的權衡。
對架構師來說,記錄決策是重要的,但保證決策被正確地執行則更加重要。幸運的是,現代工程實踐使得我們可以通過架構適應度函數(architecture fitness function)來自動化很多常見的治理問題。