首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》意图

关灯直达底部

这个部分的目的是回答下面几类问题。

  • 关键的外部接口是哪些?
    • 比如,你的系统和其他系统之间的(不管它们在你的环境内部还是外部)。
    • 比如,暴露出来用于消费的API。
    • 比如,从你的系统导出的文件。
  • 每个接口都从技术角度考虑过了吗?
    • 接口的技术定义是什么?
    • 如果使用了消息,哪些队列(点对点)和话题(发布-订阅)是用于通信的组件?
    • 消息的格式是什么(比如,纯文本或DTD/Schema定义的XML)?
    • 同步还是异步?
    • 异步消息的连接有保障吗?
    • 如果必要,人们会长期订阅吗?
    • 消息能否打乱顺序接收,这是一个问题吗?
    • 接口是否幂等?
    • 接口是否总是可用,或者比如说你是否需要在本地缓存数据?
    • 性能/可伸缩性/安全性/其他是如何满足的?
  • 每个接口都从非技术角度考虑过了吗?
    • 接口所有权属谁?
    • 接口多久会有变化,版本怎么处理?
    • 是否有服务级别的协议?