写点什么

0 基础架构入门 - 2

用户头像
felix
关注
发布于: 5 小时前

1.架构设计复杂度和应对之道

1.1.架构设计复杂度模型

  • 业务复杂度:业务固有的复杂度,主要体现为难以理解、难以扩展。例如业务数量多(微信)、业务流程长(支付宝)、业务之间关系复杂(ERP)

  • 质量复杂度:高性能、高可用、成本、安全等质量属性的要求。

1.2.架构复杂度应对之道

  • 业务复杂度低+质量复杂度低:框架,如 SSH、LAMP、Ruby on rails......

  • 业务复杂度高+质量复杂度低:SOA、微服务、DDD......

  • 业务复杂度低+质量复杂度高:集群、缓存、Reactor、分片、副本......

  • 业务复杂度高+质量复杂度高:融合所有模式

2.高性能复杂度和应对之道

2.1.单机高性能

2.1.1.计算高性能

  • 进程模型:多进程、多线程

  • 网络模型:TPC/PPC、Reactor

  • 缓存模型:本地缓存、独立缓存

2.1.2.存储高性能

  • 存储模型:B+Tree、LSM

2.2.集群高性能

2.1.1.任务分配

  • 运行形态:SDK、独立服务器

  • 配置获取:配置文件、配置中心

  • 分配算法:随机/轮询/权重/Hash/负载

2.1.2.任务分解解

  • 任务拆分:任务分类、任务分段

  • 运行形态

  • 配置获取

  • 分配算法

3.高可用复杂度和应对之道

3.1.计算高可用

3.1.1.任务分配

  • 状态检测

  • 运行形态

  • 配置获取

  • 分配算法

3.1.2.任务分解

  • 任务拆分

  • 状态检测

  • 运行形态

  • 配置获取

  • 分配算法

3.2.存储高可用

3.2.1.数据复制

  • 复制格式:命令、数据、文件

  • 复制方式:同步、异步、半同步、多数同步

3.2.2.状态决策

  • 独裁式

  • 协商式

  • 民主式

4.微信朋友圈复杂度分析及架构设计

4.1.高性能复杂度分析

4.2.高可用复杂度分析

4.3.架构设计


用户头像

felix

关注

还未添加个人签名 2020.12.01 加入

还未添加个人简介

评论

发布
暂无评论
0基础架构入门 - 2