cadem的专栏

cadem的专栏

如何理解Zookeeper的顺序一致性

2017饿了么做异地多活,我的团队承担Zookeeper的异地多活改造。在此期间我听到2种不同的关于一致性的说法。一种说法是Zookeeper是最终一致性,因为由于多副本、以及保证大多数成功的Zab协议,当一个客户端进程写入一个新值,另外一个客户端进程不能保证马上就能读到这个值,但是能保证最终能读...

2018-05-18 08:47:19

阅读数 1661

评论数 5

虽然Cassandra不是CP但Cassandra是安全的

之前的一篇文章(<线性一致性(Linearizability)是并发控制的基础>),讨论过具有线性一致性的系统可以很好的控制并发访问。 在另外一篇文章里(< Tunable Consistency不能让Cassandra成为CP系...

2018-04-13 18:50:04

阅读数 201

评论数 0

从Paxos不违反CAP来解释什么是CAP定理

CAP定理是分布式领域当中非常著名的定理,也是大家津津乐道的一个分布式定理。有些人这么理解CAP定理: 在分布式系统中, - C代表一致性 - A代表可用性, - P代表网络分区。 因为,分布式环境中,P不不可避免的,分布式系统要么选择一致性放弃可用性,要么选择可用性放弃一致性。 ...

2018-04-13 18:29:31

阅读数 718

评论数 0

线性一致性(Linearizability)是并发控制的基础

在我的其他几篇文章里,已经多次提到线性一致性(Linearizability),那么到底线性一致性(Linearizability)是什么?线性一致性(Linearizability)有什么用处? 虽然,我们最常提到Linearizability是在讨论分布式系统的时候,但其实Lineariza...

2018-04-13 17:52:41

阅读数 1334

评论数 0

Tunable Consistency不能让Cassandra成为CP系统

Cassandra有一个非常重要的特性,叫做Tunable Consistency。当RW>N时保证副本保持strong consistency,当RW=< N时系统的所有副本保持最终一致性。(关于这个特性可以参看< Cassand...

2018-04-13 17:23:23

阅读数 206

评论数 0

Cassandra的副本策略

我们知道Cassandra会将数据写多个副本。但是Cassndra如何将数据写入多个副本的那?这就是Cassandra的副本策略。 Cassandra有一个特性叫做Tunable Consistency,用来控制副本策略。我们可以为每个读写操作设置consistency level,也可以设置全...

2018-04-13 16:56:10

阅读数 369

评论数 0

Kafka的副本复制策略

Kafka会把topic partitions的数据复制到一组server上,当一个Server宕机时可以做自动的故障恢复(automatic failover)。实际是把日志复制到一组机器上,一种基于日志的复制状态机(这里就不讨论这个)。 Kafka的每个topic portition的都会有...

2018-03-09 19:15:51

阅读数 1802

评论数 0

Paxos分析之一—Paxos是什么

对Paxos协议进行分析,解析Paxos是什么

2017-08-10 21:34:17

阅读数 540

评论数 0

KV存储的对比

最近对各种KV存储进行一个比较,从存储引擎到存储引擎的类型,到单机版的kvstore,再到分布式kvstore集群。存储引擎的类型 类型 全称 btree LSH Log-Structured Hash Table LSM Log-Structured Merge ...

2017-05-19 09:20:13

阅读数 2328

评论数 0

消息队列的exclusive consumer功能是如何保证消息有序和防止脑裂的

一般来说,消息队列都会保证queue当中的消息的顺序。然而如果有多个consumer同时消费同一个queue,那么这时就不能保证的消息的顺序性。有时候,消息的顺序是非常重要的,为了能顺序的消费消息,我们只能启动一个consumer来消费这个queue。

2017-04-13 14:03:59

阅读数 1394

评论数 0

RabbitMQ的transaction、confirm、ack三个概念的解释

在使用RabbitMQ的过程中,肯定会遇到这样的几个概念:transaction、confirm、ack。本文介绍一下这几个概念,以及他们之间的关系。

2017-04-07 19:33:57

阅读数 6074

评论数 0

RabbitMQ主备复制是异步还是同步?

我们知道RabbitMQ可以配置成Queue做主从复制(按照官方的说法叫配置mirror queue),对master queue的写操作会被复制到其他slave上去(也就是复制到mirror queue上去)。这对rabbitmq的这个特性,有些人会问这样的问题,rabbitmq的主从复制是同步...

2017-04-01 21:04:44

阅读数 4374

评论数 0

Zookeeper,etcd,consul内部机制和分布式锁和选主实现的比较

我的另外3篇文章分别介绍了Zookeeper,etcd,consul是如何实现分布式锁和选主的。本文想比较一下Zookeeper、etcd、consul内部机制有哪些不同,他们实现锁和选主的方式相同和不同。

2017-02-23 13:35:21

阅读数 3953

评论数 0

用Etcd实现分布式锁和选主

Etcd的v3版本官方client里有一个concurrency的包,里面实现了分布式锁和选主。本文分析一下它是如何实现的。

2017-02-22 20:13:19

阅读数 10290

评论数 0

用Consul实现选主

Consul实现leader election的过程是这样的过程(这个过程主要翻译自[Consul的文档](https://www.consul.io/docs/guides/leader-election.html))

2017-02-21 17:22:48

阅读数 2683

评论数 0

Zookeeper实现分布式锁和选主

Zookeeper可以用来实现Distributed lock(分布式锁)和leader election(选主)。分布式锁和选主虽然用在不同的场景,但是2者的机制是相同的。

2017-02-21 17:17:02

阅读数 2102

评论数 0

ActiveMQ的持久化与集群

ActiveMQ存储消息可以采用多种持久化方案,每种方案都有自己特有的集群方案。

2016-12-01 20:41:00

阅读数 1149

评论数 0

RabbitMQ可用性和可靠性分析

本文分析一下RabbitMQ的可用性和可靠性。首先,介绍一下RabbitMQ的一些概念。然后分析RabbitMQ如何在可用性和可靠性之间做出平衡

2016-12-01 16:15:17

阅读数 3089

评论数 1

Zookeeper之reliable

最近在负责zookeeper的跨机房同步方案,所以又把zookeeper深入研究了一下,总结一些结果在这里。至于zookeeper的跨机房同步方案先不在这里说,打算另外单写。这里我主要想说一个问题,zookeeper是什么?zookeeper的网站上是这要描述zookeeper的:Apache Z...

2016-08-17 14:02:29

阅读数 256

评论数 0

并发相关的Java library

按功能上划分 Concurrency(from the book of core java)Synchronization Object内部lock, synchronizedkeyword (apply to method or code block) Lock object ...

2016-02-28 09:59:42

阅读数 319

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭