02 2020 档案
分布式数据存储之哈希和一致性哈希
摘要:数据分布设计原则 数据均匀:不同存储节点中存储的数据要尽量均衡,用户访问也要做到均衡 数据稳定:当存储节点出现故障需要移除或者扩增时,数据按照分布规则得到的结果应该尽量保持稳定,不要出现大规模的数据迁移 节点异构性:不同存储节点的硬件配置可能差别较大 隔离故障域:保证数据的可用和可靠性 性能稳定性: 阅读全文
posted @ 2020-02-17 11:38 BattleScars 阅读(670) 评论(2) 推荐(0)
分布式数据存储系统的三要素
摘要:顾客:生产和消费数据 顾客相当于分布式存储系统中的应用程序。根据数据的产生和使用,顾客分为生产者和消费者两种类型。生产者负责添加数据,消费者负责使用数据 根据数据的特征,不同的数据划分为三类:结构化数据,半结构化数据和非结构化数据 结构化数据:关系模型数据,特征是数据关联较大,格式固定,一般采用分布 阅读全文
posted @ 2020-02-17 11:00 BattleScars 阅读(1133) 评论(0) 推荐(0)
分布式数据存储之CAP理论
摘要:CAP的定义 C: Consistency,一致性,指的是所有节点在同一时刻的数据是相同的 A: Available,可用性,指的是系统提供的服务一直处于可用状态 P:Partition tolerance,分区容错性,指分布式系统在遇到网络分区的情况下,仍然能响应用户的请求 CAP理论指的是在分布 阅读全文
posted @ 2020-02-16 23:09 BattleScars 阅读(315) 评论(0) 推荐(0)
分布式通信技术之消息队列
摘要:消息队列的基本原理 消息队列是基于队列实现的,存储具有特定格式的消息数据。消息队列包括生产者,消息队列以及消费者。 RocketMQ的原理与工作机制 架构图 NameServer Cluster:名字服务器集群,类似于kafka中的zookeeper,提供分布式协调与管理的功能 Producer C 阅读全文
posted @ 2020-02-15 11:19 BattleScars 阅读(298) 评论(0) 推荐(0)
分布式通信技术之发布订阅
摘要:发布订阅的基本工作原理 点对点模式: 虽然支持多个消费者,但是一个消息只能被一个消费者消费,不允许重复消费 发布订阅模式:消息中心通常以主题进行划分,每条消息都会有相应的主题,消息被存储到自己所属的主题中,订阅该主题的所有消费者均可以获取该消息 Kafka发布订阅原理及工作机制 基本架构 zooke 阅读全文
posted @ 2020-02-14 10:52 BattleScars 阅读(568) 评论(0) 推荐(0)
分布式通信技术之远程调用
摘要:远程调用的概念 1.本地调用和远程调用 本地调用: 进程内函数之间的相互调用 远程调用:进程间函数的相互调用,是进程间通信的一种方式 2.远程调用的两个分类 本地过程调用LPC:运行在同一台机器上的进程之间的函数相互调用 远程过程调用RPC: 运行在不同机器上的进程间函数之间的相互调用 3.同步调用 阅读全文
posted @ 2020-02-13 21:25 BattleScars 阅读(709) 评论(0) 推荐(0)
分布式计算技术之流水线模式
摘要: 阅读全文
posted @ 2020-02-13 10:00 BattleScars 阅读(549) 评论(0) 推荐(0)
分布式计算技术之Actor计算模式
摘要:Actor模型定义 一种分布式并行计算模型。该模型有自己的一套规则,规定了Actor的内部计算逻辑以及多个Actor之间的通信规则。Actor模型通过异步消息模式,实现分布式系统的高并发 Actor计算模式 Actor模型的三要素: 1. 状态:Actor组件本身的信息 2. 行为:Actor的计算 阅读全文
posted @ 2020-02-13 09:58 BattleScars 阅读(915) 评论(0) 推荐(0)
分布式计算技术之Stream流式计算
摘要:流式计算的概念 实时获取来自不同数据源的海量数据,进行实时分析处理,获得有价值的信息,一般用于处理数据密集型应用。流式计算属于持续性、低时延、事件驱动型的计算作业。 流式计算工作原理 1.提交流式计算作业,流式计算作业属于常驻计算服务,必须预先定义好计算逻辑,并提交到流计算系统中,在系统运行期间,流 阅读全文
posted @ 2020-02-13 09:55 BattleScars 阅读(1772) 评论(0) 推荐(0)
分布式计算技术之MapReduce
摘要:分治法 基本思想:将一个复杂,难以直接解决的大问题,分割成一些规模较小,可以比较简单的或者直接求解的子问题,这些子问题之间相互独立且与原问题形式相同,递归求解这些子问题,然后将子问题的解合并得到原问题的解。 MR基本原理 基本组件 Master:MRAppMaster,负责分配任务,协调任务的运行, 阅读全文
posted @ 2020-02-13 09:52 BattleScars 阅读(300) 评论(0) 推荐(0)
分布式调度架构
摘要:单体调度 定义 一个集群中只有一个节点运行调度进程,该调度进程负责集群资源管理和任务调度,也就是说单体调度器拥有全局资源视图和全局任务 特征 1. 容易实现对作业的约束并实施全局性的调度策略,因此适合批处理任务和吞吐量较大、运行时间较长的任务 2. 容易进行状态同步,并且很稳定 3. 调度算法全部内 阅读全文
posted @ 2020-02-12 10:27 BattleScars 阅读(3194) 评论(0) 推荐(0)
分布式体系结构之非集中式结构
摘要:非集中式结构核心协议:Gossip协议 原理: 每个节点周期性的才能够自己维护的集群节点列表中随机选择k个节点,将自己存储的信息发送给这k个节点,接收到该信息的节点,采用分布式共识原则,对收到的数据和本地数据进行合并,经过几个迭代周期之后,集群中所有节点的数据信息就一致了。 优点: 扩展性,可容错, 阅读全文
posted @ 2020-02-12 10:22 BattleScars 阅读(419) 评论(0) 推荐(0)
分布式体系结构之集中式结构
摘要:集中式结构的概念 由一台或者多台服务器组成中央服务器,多个节点服务器与中央服务器连接。由中央服务器同一进行资源和任务调度。节点服务器之间无需通信和协作,只需要与中央服务器通信协作即可。 集中式结构经典举例 Google Borg Kubernetes Mesos 总结对比 阅读全文
posted @ 2020-02-11 15:34 BattleScars 阅读(593) 评论(0) 推荐(0)
分布式协调与同步之分布式锁
摘要:分布式锁的实现方式 数据库 实现方式: 创建一张锁表对临界资源做唯一约束,锁住资源时增加一条记录,释放时删除该记录 优点:容易理解 缺点:容易出现单点故障,死锁等问题,实现复杂,性能低可靠性低 应用场景:并发量低,性能要求低的场景 redis缓存 实现方式:setnx,或者采用官方推荐的方式http 阅读全文
posted @ 2020-02-11 11:23 BattleScars 阅读(397) 评论(0) 推荐(0)
分布式协调与同步之分布式事务
摘要:分布式事务的概念 事务 包含一系列操作的,一个有边界的工作序列,有明确的开始和结束标志,且要么被完全执行,要么完全失败 分布式事务 分布式系统中运行的事务,有多个本地事务组合而成 基本特征 原子性,一致性,隔离性和持久性 刚性事务和柔性事务 刚性事务:遵循ACID原则,具有强一致性 柔性事务:根据不 阅读全文
posted @ 2020-02-11 10:28 BattleScars 阅读(428) 评论(0) 推荐(0)
分布式协调与同步之分布式共识
摘要:前言 分布式共识的概念 在多个节点均可独自操作或记录的情况下,使得所有节点针对某个状态达到一致的过程,通过共识机制可以使得分布式系统中多个节点的数据达成一致。分布式共识技术其实就是区块链共识机制的核心 分布式共识与一致性的区别 一致性强调的是结果,共识强调的是达成一致的过程 分布式共识的关键 获得记 阅读全文
posted @ 2020-02-10 15:32 BattleScars 阅读(898) 评论(0) 推荐(0)
分布式协调与同步之分布式选举
摘要:分布式选举的原因 分布式系统中需要一个主节点,该节点用于负责对其他节点进行协调和管理。同时主节点的存在能够保证分布式集群数据的一致性。 分布式选举算法 1. Bully算法 选举原则:偏向于让ID更大的节点作为集群的leader 前提条件:假设集群中所有节点都知道其他节点的id 消息类型/节点状态: 阅读全文
posted @ 2020-02-10 14:18 BattleScars 阅读(650) 评论(0) 推荐(0)