架构学习总结
4R 架构
软件架构指软件系统的顶层结构,系统是分层的(Rank),它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)。
架构图
业务架构图、系统后端架构图、应用架构图、部署架构图等等,作为一名架构师画好系统架构图是最基本的素养。
面向复杂度架构设计逻辑
 
 面向复杂度架构设计环
 
 架构设计三原则
- 合适原则 
- 简单原则 
- 演化原则 
三高架构设计
- 高可扩展(分层、拆分、封装) 
- 高性能(计算高性能、存储高性能、任务分配、任务分解) 
- 高可用(计算高可用、存储高可用) 
架构师的职责
- 架构设计前期:主要理清需求、干系人、业务架构图 
- 架构设计中期:设计备选方案、讨论方案可行性 
- 架构设计后期:细化架构设计,落地架构文档 
存储架构设计
- 数据库存储架构:读写分离、分库分表 
- 复制架构:复制算法 
- 存储架构模式:分片架构和分区架构 
高性能系统
- 缓存架构:本地缓存、CDN、web 容器缓存、应用缓存、分布式缓存 
- 复制均衡架构:DNS、F5/LVS、Nginx 等,负载均衡算法:随机、轮询、hash、加权 
- 接口高可用:限流、排队、降级、熔断 
微服务架构
- 微服务拆分注意点:拆分的力度不要太细(三个火枪手原则)、基础设施不完善 
- 微服务拆分的挑战:分布式事务、全局幂等、接口兼容、接口循环调用 
- 微服务技术选型:SpringCloud、Dubbo 
- 微服务拆分:按业务拆分(业务边界的划分、三个火枪手)、按质量拆分(按性能、业务重要度、可用性、稳定性) 
高可用架构
- 三大核心原理:FLP 不可能原理、CAP 定理、BASE 理论 
- 使用 FMEA 方法排除架构隐患 
- 业务级灾备架构设计: 
- 同城多中心架构 
- 跨城多中心架构 
- 跨国数据中心架构 
- 异地多活架构的三种模式 
- 业务定制型异地多活 
- 业务通用型异地多活 
- 存储通用型异地多活 
- 异地多活:原理、原则、步骤、技巧 
架构设计技巧
- 网络模型:传统网络模型、Reactor 网络模型、Proactor 网络模型、网络模型对比 
- 使用 zookeeper 实现高可用架构:主备切换、集群选举 
- 复制集群架构设计技巧:Redis Sentinel 设计技巧、MongoDB Replication 设计技巧 
- 分片架构设计技巧:Elasticsearch 集群设计技巧、Redis cluster 设计技巧、MongoDB/HDFS 集群设计技巧 
- 常见集群算法解析:Gossip 协议、Bully 选举算法、Raft 选举算法 
架构重构与架构演进技巧
版权声明: 本文为 InfoQ 作者【tony】的原创文章。
原文链接:【http://xie.infoq.cn/article/5140d922adcdf3138433c7e14】。未经作者许可,禁止转载。











 
    
评论