分布式技术概况

2020/09/10 分布式 共 1737 字,约 5 分钟

分布式技术概况

按照业务的架构层次栈,自底向上按照资源、通信、数据与计算的维度 4个技术层次。

分布式资源池化、分布式通信、分布式数据存储与管理、分布式计算

这样的划分符合业务架构设计的一般规律,即“在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务”

在分布式的环境下, 这4大技术层次都要去解决另外4个技术层面的问题,包括分布式协同、分布式调度、分布式追踪与高可用、分布式部署 4 个纵向技术线

原图出处 https://time.geekbang.org/column/article/139888

分布式技术

分布式资源池化

解决资源的分布式和异构性问题

CPU,内存,GPU,网络等物理资源虚拟化,形成逻辑资源池以便统一管理

如 k8s

集中式结构

非集中式结构

AKKA集群

分布式通信

解决进程之间的分布式通信问题

通过消息队列,远程调用,订阅发布等方式,实现简单高效的通信

如 akka

分布式数据存储与管理

解决数据的分布式和多元化问题

分布式数据库,分布式文件系统,分布式缓存,支持不同类型数据的存储和管理

分布式计算

解决应用的分布式计算问题

基于分布式计算模式,包括批处理任务计算,离线计算,在线计算,融合计算等

根据应用类型构建高效智能的分布式计算框架

分布式协同

解决分布式状态及数据的一致性问题

分布式互斥,分布式选举,分布式共识,分布式事务

分布式互斥

对于同一共享资源,一个程序正在使用的时候也不希望被其他程序打扰。这,就要求同一时刻只能有一个程序能够访问这种资源

在分布式系统里,这种排他性的资源访问方式,叫作分布式互斥(Distributed Mutual Exclusion),而这种被互斥访问的共享资源就叫作临界资源(Critical Resource)

集中式算法

分布式算法

令牌环算法

分布式选举

主节点,在一个分布式集群中负责对其他节点的协调和管理,也就是说,其他节点都必须听从主节点的安排。主节点的存在,就可以保证其他节点的有序运行,以及数据库集群中的写入数据在每个节点上的一致性。这里的一致性是指,数据在每个集群节点中都是一样的,不存在不同的情况

Bully 算法

民主投票:Raft 算法

ZAB 算法

分布式共识

PoW

PoS

DPoS

一致性与共识的区别是什么

分布式事务

事务(Transaction)提供一种机制,将包含一系列操作的工作序列纳入到一个不可分割的执行单元。只有所有操作均被正确执行才能提交事务;任意一个操作失败都会导致整个事务回滚(Rollback)到之前状态,即所有操作均被取消。简单来说,事务提供了一种机制,使得工作要么全部都不做,要么完全被执行,即 all or nothing

事务具备四大基本特征 ACID

什么是 BASE 理论

基于 XA 协议的二阶段提交协议方法

三阶段提交协议方法

第一,CanCommit 阶段。

第二,PreCommit 阶段。

第三,DoCommit 阶段。

基于消息的最终一致性方法

Redis和Zookeeper 中的分布式协同算法

分布式调度

解决资源与请求者的匹配问题

单体调度,双层调度,共享调度

任务存在优先级,那当我们需要执行多个任务的时候,通常需要满足优先级高的任务优先执行的条件。但在这些条件中,服务器资源能够满足用户任务对资源的诉求是必须的。而为用户任务寻找合适的服务器这个过程,在分布式领域中叫作调度。在分布式系统架构中,调度器就是一个非常重要的组件。它通常会提供多种调度策略,负责完成具体的调度工作。

单体调度

两层调度

共享状态调度

分布式追踪与高可用

解决分布式定位,可靠性问题

分布式日志搜集,分布式问题建模,负载均衡,流量控制,故障隔离,故障恢复

分布式部署

解决服务分布式部署问题

自动化,智能化部署

计算模式的区别

单机模式

所谓单机模式是指,所有应用程序和数据均部署在一台电脑或服务器上,由一台计算机完成所有的处理

缺点:性能受限、存在单点失效问题

数据并行或数据分布式

任务并行或任务分布式

分布式系统的指标

分布式系统的出现就是为了用廉价的、普通的机器解决单个计算机处理复杂、大规模数据和任务时存在的性能问题、资源瓶颈问题,以及可用性和可扩展性问题。换句话说,分布式的目的是用更多的机器,处理更多的数据和更复杂的任务

性能

吞吐量

QPS

TPS

BPS

响应时间

完成时间

资源占用

可用性

可扩展性

文档信息

Search

    Table of Contents