写点什么

架构学习总结

作者:tony
  • 2022 年 3 月 20 日
  • 本文字数:892 字

    阅读完需:约 3 分钟

4R 架构

软件架构指软件系统的顶层结构,系统是分层的(Rank),它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)。

架构图

业务架构图、系统后端架构图、应用架构图、部署架构图等等,作为一名架构师画好系统架构图是最基本的素养。

面向复杂度架构设计逻辑


面向复杂度架构设计环


架构设计三原则

  1. 合适原则

  2. 简单原则

  3. 演化原则

三高架构设计

  1. 高可扩展(分层、拆分、封装)

  2. 高性能(计算高性能、存储高性能、任务分配、任务分解)

  3. 高可用(计算高可用、存储高可用)

架构师的职责

  1. 架构设计前期:主要理清需求、干系人、业务架构图

  2. 架构设计中期:设计备选方案、讨论方案可行性

  3. 架构设计后期:细化架构设计,落地架构文档

存储架构设计

  1. 数据库存储架构:读写分离、分库分表

  2. 复制架构:复制算法

  3. 存储架构模式:分片架构和分区架构

高性能系统

  1. 缓存架构:本地缓存、CDN、web 容器缓存、应用缓存、分布式缓存

  2. 复制均衡架构:DNS、F5/LVS、Nginx 等,负载均衡算法:随机、轮询、hash、加权

  3. 接口高可用:限流、排队、降级、熔断

微服务架构

  1. 微服务拆分注意点:拆分的力度不要太细(三个火枪手原则)、基础设施不完善

  2. 微服务拆分的挑战:分布式事务、全局幂等、接口兼容、接口循环调用

  3. 微服务技术选型:SpringCloud、Dubbo

  4. 微服务拆分:按业务拆分(业务边界的划分、三个火枪手)、按质量拆分(按性能、业务重要度、可用性、稳定性)

高可用架构

  1. 三大核心原理:FLP 不可能原理、CAP 定理、BASE 理论

  2. 使用 FMEA 方法排除架构隐患

  3. 业务级灾备架构设计:

  • 同城多中心架构

  • 跨城多中心架构

  • 跨国数据中心架构

  1. 异地多活架构的三种模式

  • 业务定制型异地多活

  • 业务通用型异地多活

  • 存储通用型异地多活

  1. 异地多活:原理、原则、步骤、技巧

架构设计技巧

  1. 网络模型:传统网络模型、Reactor 网络模型、Proactor 网络模型、网络模型对比

  2. 使用 zookeeper 实现高可用架构:主备切换、集群选举

  3. 复制集群架构设计技巧:Redis Sentinel 设计技巧、MongoDB Replication 设计技巧

  4. 分片架构设计技巧:Elasticsearch 集群设计技巧、Redis cluster 设计技巧、MongoDB/HDFS 集群设计技巧

  5. 常见集群算法解析:Gossip 协议、Bully 选举算法、Raft 选举算法

架构重构与架构演进技巧

发布于: 刚刚阅读数: 5
用户头像

tony

关注

还未添加个人签名 2018.01.04 加入

还未添加个人简介

评论

发布
暂无评论
架构学习总结_tony_InfoQ写作平台