架构实战营 - 总结
模块一
1、4R 架构(Rank、Role、Relation、Rule)。
2、架构设计环。
3、架构设计的三原则。
4、架构设计原则的意义。
模块二
1、架构的鸡蛋篮子理论三法则。
2、架构的质量复杂度和业务复杂度正交分解分析。
3、高可用架构分析设计、高性能架构分析设计。
模块三
1、架构设计前、中、后期的具体工作内容。
2、架构设计前期:澄清不确定性,识别复杂度。
3、架构设计中期:设计多个备选方案,并对备选方案评估、选择。
4、架构设计后期:细化架构 (4R)、完善架构(可维护性、可测试性、可运维性、成本、安全),写出 架构设计文档、详细架构文档。
5、架构设计文档内容、详细架构文档(架构规范、架构质量)内容。
模块四
1、MySQL innodb_buffer_pool_size。
2、存储架构设计的三个步骤(估算性能需求、选择存储系统、设计存储方案,第三步与第二步迭代)。
2、估算性能需求(用户量预估、用户行为建模、存储性能需求计算)。
3、存储架构选择的逻辑图。
4、存储方案设计三个步骤(设计数据结构、验证读写场景、评估读写性能,第三步与第一步迭代)。
5、常见存储系统的技术本质。
模块五
1、从客户端到服务端的多级缓存架构。
2、缓存穿透应对(写入 null 值、缓存预热、随机失效),缓存热点应对。
3、多级负载均衡架构,业务负载均衡技巧(使用 Cookie、自定义 Header 来路由到归属地的业务服务
器)。
4、接口高可用的架构设计。
模块六
1、微服务与 SOA 的区别。
2、单个微服务的架构实现方式(可以是微内核架构、整洁架构、MVC 等)。
3、微服务基础设施框架模式(SDK 式、反向代理式、网络代理式),微服务框架的选择逻辑(Dubbo、Spring Cloud、APISIX、istio)。
4、微服务拆分方式【按业务(一对一、一对多、多对一),按质量(性能需求、重要程度、可用性、稳定性)】。
5、三个火枪手原则。
6、中台与 IaaS、PaaS、SaaS 的区别,业务中台与数据中台的区别,业务中台的编程模式。
模块七
1、FLP 不可能原理的运用,PACELC 原理(CAP 在工程落地中更完善的实践)的运用。
2、CAP 原理关注的是单个数据,不是整个系统。
3、FMEA 方法论的在架构设计上的运用。
4、业务级灾备架构设计 [ 同城双中心、同城多中心(很少采用)、跨城近邻多中心、跨城远端多中心、跨 国数据中心 ]。
5、异地多活架构三种模式:业务定制型,业务通用型,存储通用型。
6、业务定制型异地多活架构设计方法。
模块八
1、单机高性能网络模型,PPC、prefork、TPC、prethread、Reactor [单 Reactor 单进程/线程、单
Reactor 多线程、多 Reactor 多进程/线程(包含主线程池和子线程池)] 模式、Proactor 模式。
2、Zookeeper 集群选举 3 种算法:最小节点获胜;抢建唯一节点;法官判决。
3、Redis sentinel 和 MongoDB replication 多种集群架构模式设计。
4、Elasticsearch 多种分片架构设计、Redis cluster 架构设计、MongoDB 架构设计、HDFS 架构设计。
5、一致性算法和集群选举算法的技术本质,Gossip 协议、Bully 选举算法、Raft 选举算法、ZAB 协议。
模块九
1、架构重构手段:增、删、改、拆、合(Role、Rule、Relation)。
2、架构重构技巧:先局部优化后架构重构;明确目标、明确时间、明确结果;合纵连横;运筹帷幄。
3、架构演进:设计新的架构,以解决新的复杂度,或者采用新的解决方法。
4、架构演进:主动演进(业务规模变化或业务多样性变动),被动演进(业务调整方向);
5、业务规模可以预测,业务多样性和业务方向无法预测。
6、技术驱动架构演进的原则:新瓶装旧酒原则 ;价值原则。
7、十万级用户架构 到百万级 到千万级 到亿级用户架构的架构本质复杂度
8、千万级用户架构开始分业务域;亿级用户架构开始分业务线
评论