首页 > 其他分享 >知识体系

知识体系

时间:2023-03-15 14:14:02浏览次数:33  
标签:体系 架构 知识 调度 流量 分片 架构师 节点

 

能力

  1. 基础技术架构:这部分是纯技术架构,所有非功能性的技术都是基础技术的范畴。

  2. 业务架构:在业务场景下对业务需求的抽象。

  3. 开发技能:这是架构师落地架构的能力。

把握系统技术

  • 在需求分析阶段:架构师对于业务架构,要给出一个合理的需求分析抽象模型。

  • 在架构设计和架构选型阶段:架构师要充分考虑技术的合理性,制定合理的设计方案。

  • 在架构落地阶段:架构师要能指导研发进行落地,并推进项目的执行。

架构师知识体系

 

 

 

  • 存储

分布式存储系统

为了解决数据的水平扩展,要做数据分片,因为分布式系统区别于传统单机系统就在于能将数据分布到多个节点,并在多个节点间实现负载均衡。这种数据水平扩容的操作叫数据分片。

数据分片会涉及分片规则,常见的有范围分片和哈希分片,不同的分片规则就有不同的分片算法,如哈希分片就会涉及哈希取模算法、虚拟桶算法、一致性哈希算法。

又因为数据要分布到多个节点,你还需要数据复制,数据复制就会存在同步复制和异步复制。为了保证数据的可靠性和可用性,增强系统容错,数据复制就会产生副本,副本则是分布式存储系统解决高可用的唯一手段。

而多个副本同步会产生一致性的问题,从而引出一致性问题的分类,如强一致性、弱一致、最终一致,要想解决一致性问题,会涉及一致性问题的协议:如两阶段提交协议(Two-PhraseCommit,2PC)、Paxos协议选举、向量时钟(VectorClock)、RWN协议、Raft协议。

多个副本还会带来主选举,这会涉及分布式锁的问题:多个机器竞争一个锁,当某个机器释放锁或者挂掉,其他机器可以竞争到锁,继续执行任务。为了解决锁的容错性,比如解决双主(脑裂)问题,就会涉及租约机制,租约机制可以解决网络分区问题造成的“双主”问题。

为了衡量副本可用性和一致性,就会引出分布式系统的基础理论 CAP 、BASE,以及 PACELC。

  • 计算

并行计算、分布式计算、云计算

  • 并行计算:同时使用多种计算资源解决计算问题的过程,比如多线程就是一种并行计算;服务集群也是一种并行计算。

  • 分布式计算:是从集群技术发展而来,区别在于集群虽然连接了多台机器,但某项具体的任务执行时还是会被转发到某台服务器上,分布式计算则将任务分割到多台服务器上并行计算,然后得到结果。

分布式领域中的计算模式,如分布式并行计算框架 Hadoop 中的 MapReduce 的设计思想,以及基于流式计算框架 Storm、Spark、Flink 的架构设计方案。

  • 输入输出

系统架构中的输入输出,是指系统间通信的技术。

网络通信最基础的协议(诸如 TCP/UDP 协议等);网络 I/O 模型(Blocking-IO,NonBlocking-IO、Asyn-IO),最后是偏应用的知识,需要了解例如连接复用、序列化/反序列化、RPC、MQ 消息队列等。

掌握流量的流转过程以及应对方案,比如当请求到达网络设备时

  • 网络设备如何处理流量?这会涉及中断和缓存。

  • 操作系统如何处理流量?这会涉及 I/O 模型,select、poll、epoll,以及 I/O 多路复用。

  • 应用系统如何处理流量?这会涉及 NIO 的开发,如 Reactor 模式、Netty 框架原理等。

  • 系统线程如何处理流量?还会涉及多线程的设计模式。

分布式系统通信的核心技术:RPC 和 MQ。

  • 控制器

分布式系统知识体系中的控制器,理解为系统架构中的调度系统,包括流量调度和资源调度。

  • **流量调度(我们常说的流量控制):**作为架构师就要掌握流量控制的常用方案策略,比如负载均衡、服务路由、熔断、降级、限流等,其实常用的高可用、高性能的解决方案很多都是基于流量上的调度。

  • **资源调度:**如果我们将流量调度迁移到服务器的计算资源、存储资源或基础资源上面的话,就会引出另一种基于资源的调度,如 Mesos、Yarn 基于计算资源的调度;HDFS、GlusterFS、Ceph 基于存储资源的调度;Kubernetes、Mesos 基于容器资源的调度(包括计算、存储、网络等综合性的资源调度)。

单个服务器的计算资源做调度,你至少要具备设计思路:让集群选举一个主节点,每个从节点会向主节点汇报自己的空闲资源,当请求到来时,主节点通过资源调度算法选择一个合适的从节点来处理该请求。

 

无论你从事哪个领域的架构设计工作,都要明白作为架构师,一定是技术出身,但是要突破技术思维的限制,向上立足于部门和公司、向下管控系统和研发,站在全局的角度去规划、组织、系统技术的发展。

标签:体系,架构,知识,调度,流量,分片,架构师,节点
From: https://www.cnblogs.com/jiaozg/p/17218269.html

相关文章

  • Web前端杂乱知识复习
    OSIOSI是OpenSystemInterconnect的缩写,意为开放式系统互联。其各个层次的划分遵循下列原则:​(1)同一层中的各网络节点都有相同的层次结构,具有同样的功能。​(2)同......
  • vue经常遗忘基础知识汇总
    Vueexportdefault和export的使用方式原文链接:https://blog.csdn.net/u012887259/article/details/108119368  ......
  • 【2023自动化测试基础知识】什么是自动化测试?
    ​大家好,我是小码哥。今天主要学习自动化测试相关概念。什么是自动化测试?自动化测试是一种软件工具的应用,用于自动化由人驱动的检查和验证软件产品的手工过程。大多数......
  • QQ音乐高可用架构体系
    Withoutmusic,lifewouldbeamistake.―FriedrichNietzsche1.QQ音乐高可用架构体系全景故障无处不在,而且无法避免。(分布式计算谬误)在分布式系统建设的过程中,我......
  • ISO9001认证怎么做?ISO9001质量管理体系认证知识科普
    ISO9001认证怎么做?ISO9001质量管理体系认证知识科普ISO体系简介:国际标准化组织(ISO)于1979年成立了质量管理和质量保证技术委员会(TC176),负责制定质量管理和质量保证标准。ISO......
  • iso9001质量体系认证费用详解
    iso9001质量体系认证费用详解现在很多公司都会进行ISO9001质量管理体系认证,ISO9001认证对企业来说是非常重要的,ISO9001质量管理体系认证与企业的未来发展有关,而且会关系到......
  • mysql基础知识&&常用命令
    了解什么是数据库?什么是数据管理系统?什么是SQL,他们之间的关系又是什么?数据库英文单词DataBase,简称DB,按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实......
  • 内存的基本知识
    内存的基本知识1、什么是内存?有何作用?2、进程运行的基本原理1、指令的工作原理1、装入的三种方式——绝对装入2、装入的三种方式——可重定位装入3、装入的三......
  • 基础知识
    基础概念Poc:表示概念性的证明,证明该漏洞存在,也就是一段可以证明漏洞存在的代码或文件。Exploit:表示某个漏洞可用的代码或者文件。常见的漏洞分析方法静态分析无需......
  • 向量相关基础知识
    在机器学习中,向量是基本的数据表示形式,广泛用于各种算法和模型中。熟练掌握向量的概念和相关知识对于理解机器学习算法和实现机器学习模型都非常重要。什么是矢量(vector)?......