【软件架构】03-架构设计流程

1、识别复杂度

确定了系统面临的主要复杂度问题,进而明确了设计方案的目标,

2、设计备选方案

一般三到五个,防止思维狭隘

从需求、团队、技术、资源等综合情况出发,对主流、成熟的架构模式进行选择。

3、评估和选择备选方案

以常见的质量属性作为评估标准:性能、可用性、硬件成本、项目投入、复杂度、安全性、可扩展

遵循:简单、合适原则

结合需求中的隐藏的风险点、敏感点,做权衡

4、细化方案设计 

需要对已选的备选方案中各种技术熟悉,不能以”细节先不谈“的方式形成PPT架构

与同事沟通,落地技术实现细节

可以对整体系统进行 分层,降低系统复杂度,再针对每一层进行具体设计

在实际的设计过程中,可能存在风险点,需要推翻现有的备选方案,重新选择

如:

1、MySQL数据库:

1)主从同步策略选择:异步、同步双写;

2)多从节点同步策略:是全部向主节点同步,还是以部分从节点作为同步节点,形成链;

3)分库分表方案:以ID hash、还是年月日时间,哪些表需要分表,哪些是广播表。跨节点join查询策略、事务一致性方案(AT、Saga、TCC等)

2、Nginx 负载均衡策略:ip_hash、轮询、权重、url_hash等

相关推荐

  1. 软件架构设计 Azure架构

    2024-02-22 10:26:03       31 阅读
  2. 系统架构22 - 软件架构设计(1)

    2024-02-22 10:26:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 10:26:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 10:26:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 10:26:03       82 阅读
  4. Python语言-面向对象

    2024-02-22 10:26:03       91 阅读

热门阅读

  1. 虚拟地址空间与堆区

    2024-02-22 10:26:03       48 阅读
  2. hive rlike

    2024-02-22 10:26:03       42 阅读
  3. Hive 最全面试题及答案(基础篇)

    2024-02-22 10:26:03       45 阅读
  4. 网络安全专业术语中英对照指南

    2024-02-22 10:26:03       39 阅读