♥架构 - 知识体系详解♥

提示

本系列将带你梳理下架构相关的知识体系。@pdai

如何学习架构

  • 包含如何学习架构?

基础到方法论

包括架构的概述,特点,目标,本质以及方法论等

如何理解架构

理解架构,包括架构的视角,架构的演进,服务化演进,架构的核心要素

  • 架构 - 理解构架的视角
    • 在学习架构时,我认为首先要理清楚架构的视角,因为你所认知的架构和别人所说的架构可能是两码事。对于不同职位的视角是不一样的,比如开发而言他更多的看到的是开发架构;对售前人员,他可能更多的看到的是业务架构;对于运维人员,他看到的可能是运维架构;而对于技术支持和部署人员,他更多的看到的网络和物理架构。
  • 架构 - 理解构架的分层
    • 技术框架(technological Framework)是整个或部分技术系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。于开发者而言,实际工作从通常采用的是分层模型,由于其重要性,这里独立一个章节,总结经典的七层逻辑架构
  • 架构 - 理解架构的演进
    • 在学习架构时,第一步不要去学习框架,而是要学习架构的演进。强烈推荐李智慧老师的《大型网站技术架构》,这本书翻起来很快,对构筑你自己的体系很有帮助,本文的内容来源于它,在此基础上拓展了下。
  • 架构 - 理解架构的服务演化
    • Kubernetes、Service Mesh 和 Serverless应该是最近比较火的了,而上文主要从逻辑架构角度分析了架构演进,本文将从服务演化容器编排化的角度帮你增强对架构演进的认识。
  • 架构 - 理解架构的模式1
    • 架构演进中有很多知识点,总体上可以归结为以下模式,这里说的模式本质是架构中技术点的抽象。强烈推荐李智慧老师的《大型网站技术架构》,本文的内容也是来源于它,在此基础上拓展了下。
  • 架构 - 理解架构的模式2
  • 架构 - 理解架构的核心要素
    • 一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素

架构高并发和高可用

架构高并发和高可用技术点主要包含如下方面。

  • 架构之高并发:缓存
    • 高并发实现的三板斧:缓存,限流和降级。缓存在高并发系统中有者极其广阔的应用,需要重点掌握,本文重点介绍下缓存及其实现。
  • 架构之高并发:限流
    • 每个系统都有服务的上线,所以当流量超过服务极限能力时,系统可能会出现卡死、崩溃的情况,所以就有了降级和限流。限流其实就是:当高并发或者瞬时高并发时,为了保证系统的稳定性、可用性,系统以牺牲部分请求为代价或者延迟处理请求为代价,保证系统整体服务可用。
  • 架构之高并发:降级和熔断
    • 在高并发环境下,服务之间的依赖关系导致调用失败,解决的方式通常是: 限流->熔断->隔离->降级, 其目的是防止雪崩效应
  • 架构之高可用:负载均衡
    • 负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。
  • 架构之高可用:容灾备份,故障转移
    • 容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。故障转移(failover),即当活动的服务或应用意外终止时,快速启用冗余或备用的服务器、系统、硬件或者网络接替它们工作。故障恢复是在计划内或计划外中断解决后切换回主站点的过程。

架构的安全

此外还需要关注下架构的安全。