分布式一致性算法主流方案:2PC、3PC、leader/follower、paxos 一致性有两种场景: 1、多份相同的数据,在一处修改,保证多份一致 2、一个业务变更多份不同的数据,要保持一致,要成功都成功,要失败都失败 产生不一致的原因: 1、异常操作导致不成功 2、网络分区 3、应用故障 两阶 ...
分类:
编程语言 时间:
2019-09-22 14:28:58
阅读次数:
77
ETCD 简介 ETCD是一个开源的、分布式的键值对数据存储系统,由Go语言实现,用于存储key-value键值对,同时不仅仅是存储,主要用途是提供共享配置及服务发现,使用Raft一致性算法来管理高度可用的复制日志。有下面特点 简单:定义明确,面向用户的API(gRPC) 安全:具有可选客户端证书身 ...
分类:
其他好文 时间:
2019-09-13 19:20:00
阅读次数:
127
在寒假前,完成了Zookeeper系列的前5篇文章,主要是分布式的相关理论,包括CAP,BASE理论,分布式数据一致性算法:2PC,3PC,Paxos算法,Zookeeper的相关基本特性,ZAB协议。今天,完成Zookeeper系列的最后一篇也是最为重要的内容:Zookeeper的典型应用场景的介 ...
分类:
其他好文 时间:
2019-09-10 13:25:46
阅读次数:
103
Etcd高可用分布式键值数据库1,Etcd简介etcd是CoreOS团队于2016年6月发起的开源项目,他的目标是构建一个高可用的分布式键值(key_value)数据库。Etcd内部采用raft协议作为一致性算法,Etcd是基于Go语言实现的。目前很火的kubernetes等项目都用到etcd组件作为一个高可用分布式键值存储。etcd作为服务发现系统,有以下特点:简单:安装配置简单,而且提供了HT
分类:
数据库 时间:
2019-08-31 09:16:52
阅读次数:
167
chapter 3 基于图像一致性的三维重建 基于第二章的图像一致性算法,本章将会详细介绍最近几年流行的多视角立体几何算法。区分MVS算法有许多因素,例如图像一致性函数,场景表达,可视化计算和初始化条件。因此提出一个单独的分类并不容易。本文将会依据输出的场景表示方法作为主要分类方式。因为它决定了应用 ...
分类:
其他好文 时间:
2019-08-27 01:08:15
阅读次数:
135
在实际应用中,对于分布式系统而言,遇到一致性问题,业界产生了许多经典的分布式一致性算法,以前项目中常的分布式一致性算法是2PC和Paxos,对于Raft算法只知其名,从未仔细理解过,直到今天和同事聊天时,突然被问到,Paxos与Raft的区别在哪?为什么我们项目中应用Paxos产生这么多问题,当初是 ...
分类:
编程语言 时间:
2019-08-24 09:49:43
阅读次数:
110
大纲 Hash取余算法 判定哈希算法好坏的四个定义 一致性Hash算法的两大设计 Hash取余算法 hash(Object.key)%N,hash值随Object.key、N的变化而变化。 如果有节点(集群中节点增减太正常)发生变化,几乎重新分配,意味着所有已经分配好的数据都要迁移到新的节点上。 一 ...
分类:
编程语言 时间:
2019-08-20 01:07:05
阅读次数:
108
Redis持久化 :如果用户将数据保存到内存中,如果服务器断电或者宕机则内存数据将清空,导致缓存数据清空. 持久化文件使用规则: 当程序正常运行时会生成持久化文件.如果当服务器宕机后重启时.会根据配置文件中指定的持久化文件进行数据的恢复. RDB模式: 说明: AOF模式 说明: 1.1 LRU算法 ...
分类:
其他好文 时间:
2019-08-09 10:33:27
阅读次数:
105
分布式一致性 想象一下,我们有一个单节点系统,且作为数据库服务器,然后存储了一个值(假设为X)。然后,有一个客户端往服务器发送了一个值(假设为8)。只要服务器接受到这个值即可,这个值在单节点上的一致性非常容易保证: 单机环境 但是,如果数据库服务器有多个节点呢?比如,如下图所示,有三个节点:a,b, ...
分类:
编程语言 时间:
2019-05-30 10:42:28
阅读次数:
126
本文并不介绍服务发现的基本原理。除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现。 想直接查看结论的同学,请直接跳到文末。 目前,市面上有非常多的服务发现工具,《Open-Source Service Discovery》一文中列举了如下开源的服务发现工具。(h ...
分类:
其他好文 时间:
2019-05-30 10:37:22
阅读次数:
120