
【Distributed】
fanfan4569
登上山顶,欣喜掩盖疼痛。
展开
-
【分布式理论】之 分布式系统挑战
所有可能出错的事情一定会出错。作为开发者,我们的核心任务是构建可靠的系统,即使系统面临各种出错可能,也需要完成预定工作(确保满足用户期望)一 故障与部分失效故障处理是软件设计的重要组成部分。最好仔细考虑各种可能的出错情况,包括那些小概率故障,然后尝试认为构造这种测试场景来充分检测系统行为。在分布式系统中,怀疑,悲观和偏执狂才能生存。(1)单节点如果发生了某种内部...原创 2019-08-25 00:39:58 · 416 阅读 · 0 评论 -
【分布式理论】 之 负载均衡概述
文章目录负载均衡 (Load Balancer) 概述一、DNS 负载均衡(1) 优点(2) 缺点二、硬件负载均衡(1) 优点(2) 缺点三、软件负载均衡(1) 优点(2) 缺点四、参考资料负载均衡 (Load Balancer) 概述常见的负载均衡系统包括: DNS 负载均衡、硬件负载均衡 和 软件负载均衡一、DNS 负载均衡DNS负载均衡 一般用来实现地理级别的均衡本质: ...原创 2019-09-12 15:25:35 · 209 阅读 · 0 评论 -
【分布式理论】 之 2PC
文章目录一、什么是2PC?二、两阶段执行过程(1)请求阶段(Prepare Phase)(2)提交阶段(Commit Phase)1. 二阶段提交算法的前提2. 过程三、两阶段提交协议可能面临两种故障:(1)事务参与者发生故障(2)协调者发生故障四、总结一、什么是2PC?两阶段提交(Two-phase Commit, 2PC)算法,经常用来实现分布式事务。系统包含两类节点:协调者(c...原创 2019-09-12 20:08:50 · 418 阅读 · 0 评论 -
【分布式理论】之 CAP
文章目录一、CAP概念(1) 一致性(Consistency)(2)可用性(Availability)(3)分区容忍性(Partition Tolerance)二、避免使用 CAP为什么避免使用 CAP?(1) 只能在 CA 和 AP 中选择嘛?(2) CAP 关注的是一个分布式系统嘛?(3) 一个系统的选择需要看实际情况三、凡凡认为四、引用一、CAP概念CAP 有时也代表一致性,可用...原创 2019-09-13 14:13:38 · 205 阅读 · 0 评论 -
【分布式理论】 之 3PC
两阶段提交也被称为阻塞式原子提交协议,因为2PC可能在等待协调者恢复时卡住。理论上,将其改进为非阻塞式就行了,但实践中想要实现并不容易3PC 假定一个有界的网络延迟和节点在规定时间内响应。考虑到目前大多数具有无限网络延迟和进程暂停的实际情况非阻塞原子提交依赖于一个完美的故障检测器,即有一个非常可靠的机制可以判断出节点是否已经崩溃。在无限延迟的网络环境中,超时机制并不是可靠的故障...原创 2019-09-15 20:11:28 · 255 阅读 · 0 评论 -
【数据库】之 事务隔离级别
文章目录一、简介(1)危险指标1. 脏读2. 脏写3. 不可重复读(nonrepeatable read) 或 读倾斜(read skew)4. 写倾斜(write skew)5. 幻读二、读提交(1)防止脏写(2)防止脏读1. 读锁2. 版本号三、可重复读(快照级别隔离)(1)`PostgreSQL`如何实现基于 MVCC 的快照级别隔离?(2)一致性快照的可见性规则四、串行化一、简介事...原创 2019-09-30 14:48:51 · 506 阅读 · 0 评论 -
【分布式理论】之 拜占庭式将军问题
一、简介二、问题1. 什么是拜占庭将军问题?有 N 位将军分别在不同的地点建立了营地,两两之间通讯只能通过信使进行沟通。这 N 位将军需要达成共识,但其中存在一些叛徒试图阻挠达成共识。大多数的将军都是忠诚的,发出了真实的信息,但是叛徒则试图通过发送虚假或不真实的信息来欺骗和混淆他人(同时努力隐藏自己)。而且大家事先并不知道叛徒是谁。即:如果某个系统中即使发生部分节点故障,甚至不遵从...原创 2019-10-04 10:02:21 · 790 阅读 · 0 评论 -
【分布式事务】之 XA
文章目录一、简介(1)问题1)什么是 XA?二、限制(存在问题)(1)非高可用(2)事务协调者所在的应用服务器不再是无状态(3)无法检测死锁(4)容错一、简介分布式事务概念:数据库内部的分布式事务某些分布式数据库(例如那些标配支持复制和分区的数据库)支持跨数据库节点的内部事务。例如,VoltDB和MySQL Cluster的 NDB 存储引擎就是支持这样的内部分布式事务此时,...原创 2019-10-08 19:39:54 · 484 阅读 · 0 评论 -
【分布式理论】之 分区(1)
文章目录一、简介(1)问题1)为什么要分区?2)为什么要将分区数据库分布、扩展到多台机器上?二、分区方法(1)基于关键字区间的分区1)缺点(2)哈希分区1)缺点(3)复合键一、简介面对一些海量数据集或非常高的查询压力,复制技术还不够,还需要将数据拆分成为分区,也称为分片分区,在不同系统有着不同的称呼。MongoDB、Elasticsearch、SolrCloud 的 shard,H...原创 2019-10-11 17:39:10 · 566 阅读 · 0 评论