zoukankan      html  css  js  c++  java
  • 人人都是架构师:面对风险

    架构包括技术的选择,很多其它分层等于更高的复杂度,可是轻量级协同设计能够提高质量。

    最佳实践也是有使用条件限制的,面对架构要用于质疑。

    系统的最大风险

    外部接口是系统风险最高的部分之中的一个。
    - 关键的外部接口有哪些?接口的技术定义是什么?
    - 哪些队列是通信组件?消息的格式是什么?
    - 同步还是异步?异步连接是否有保障?是否能乱序传输?
    - 接口是否幂等?接口的可用性、性能、可伸缩性、安全性?
    - 接口的全部权属?版本号的升级处理?服务级别?

    系统的常见风险

    除了外部接口之外。其它的常见风险例如以下:
    - 组件执行过慢
    - 组件无法伸缩
    - 关键组件崩溃
    - 单点故障
    - 数据被破坏
    - 基础设施故障
    - 磁盘满
    - 新技术过于复杂

    文档

    架构须要以文档的方式回答质疑。
    代码不会讲述完整的故事。轻量级文档来描写叙述代码之外的问题,如

    • 这是关于什么的?希望能做什么?
    • 质量属性?约束?原则?
    • 软件架构?外部接口?
    • 数据(数据比软件本身更重要。)?
    • 基础设施架构?
    • 部署?运营和支持?
    • 决策日志
    • ……
  • 相关阅读:
    竞争冒险及其消除
    [C++]重复单词统计
    [C++]智能指针与常规new
    基于go的生产者消费者模型
    cin的返回对象
    为什么map对象不能使用stl中的sort函数
    opencv
    operator ->
    记一次源码分析
    iconfig1
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8495076.html
Copyright © 2011-2022 走看看