• 像MongoDB, Cassandra, HBase, DynamoDB, 和 Riak这些NoSQL缺乏传统的原子事务机制,所谓原子事务机制是可以保证一系列写操作要么全部完成,要么全部不会完成,不会发生只完成一系列中一两个写操作;因为数据库不提供这种事务机制支持,开发者需要自己编写代码来确保一系列
  • 这是分布是系统领域很重要的一篇文章,主要论述在消息传递中"最多一次"、"最少一次"和"正好一次"三者中正好一次传递是不可能的,也就是通过网络两个服务器之间的调用恰好通过一次就完成正确通讯是不可能的。至少一次意思是一个消息至少传递一次以上,当然会造成消息内容重复冗余,但是可靠性提高了;而至多一次是服务 icon
  • Google和Twitter刚发布它们综合实时流处理和批处理的Lambda架构,LinkedIn的Jay Kreps则对这种架构提出了质疑,指出实时处理和批处理其实是两种范式,将它们硬生生捆绑在一起会犯ORM框架一样的错误,并且提出一种类似EventSourcing或CQRS架构思路只要使用一个实时 icon
  • 本文翻译自国外InfoQ和计算机杂志上一篇2012年旧文,本文就有关数据同步进行了讨论,特别关注业务事务的不变性与一致性如何在分布式系统中巧妙保证,探讨了长时间运行的事务的补偿机制。这些对分布式系统设计都有很大帮助。 原文大意如下: icon
  • 最近一个爆炸新闻是apple收购了名不经传的FoundationDB,之前苹果是使用Cassandra作为来保存各种资源包括用户上传的资料影音媒体图片等等。这一举动引发了多方揣测,一些人认为苹果使用非开源的数据库来保存用户的资料,是不是别有用心? 下面从技 icon
  • 这是一篇比较分布式系统中服务器之间获得状态最终一致性也就是取得共识consensus几个流行算法,包括Paxos、Egalitarian Paxos、Hydra、Fast Paxos、Ios、VRR(Viewstamped Replication Revisited)、 Multi-Paxos、Ra icon
  • 在分布式系统中,重试是不可避免的,我们经常使用后台跑定时进行数据同步,同步不成功就实现重试,重试次数多少取决于你追求一致性还是可用性,如果希望两个系统之前无论如何都必须一致,那么你设置重试次数为无限,当然这是理想情况,实际情况是有重试次数限制和重试时间限制,如果超过不成功怎么办?丢弃会造成数据丢失进 icon
  • CAP定理设计者Eric Brewer作为Google基础设施副总裁在时隔二十年后重谈CAP定律。 Eric Brewer目前正在推动Kubernetes和容器建设,在这篇采访中: icon
  • 在分布式数据库领域中,高性能 + 强一致性事务是代表数据库水平高低的重要象征,这个领域最高水平的数据库是Google Cloud Spanner和Azure Cosmos DB以及Apple最近开源的FoundationDB,YugaByte DB是这个领域的另外一个开源数据库,虽然知名度不高,也没 icon
  • 这是Reactive微服务框架lagom作者一篇文章,针对CQRS误解进行驳斥,这个误解观点是:CQRS的问题是,它使事情变得更加复杂,因为它降低了一致性。 如果你有一个传统的单片整体系统,所有的数据操作都针对一个数据库,这个唯一的数据库支持ACI icon
  • 什么是CAP定理?在Consistency一致性, Availability可用性, Partition-tolerance分区容忍性三者之中只能选两。 CP: 高一致性C和分区容忍性P的系统,放弃可用性A。AP: 可用性A和分区容忍性P的系统,放 icon
  • 微软首席架构师Yaron Goland发表文章解释了一个区块链客户端是如何基于其实现在CAP的AP或CP之间进行选择的。一个交易发生后有多少数据块记录了这项交易,越多表示系统达到广泛共识,一致性越强,从最终一致性到高一致性。 首先,需要了解一下区块链是通过 icon
  • Twitter的开源DistributedLog是一款高性能复制日志服务,能提供持久的可复制的强一致性(分布式事务机制),可以作为基础构建设施用于创建可靠的分布式系统,例如可复制的状态机(replicated-state-machine)、一般的pub/sub系统、分布式数据库和分布式队列等。是Ka icon
  • 本文介绍Consul如何在Stripe公司扮演服务发现功能的。主要谈论三个方面:1.什么是服务发现和Consul是什么。2.Stripe是如何管理关键软件的部署风险。3.遭遇的挑战和应对措施。 Stripe是一家类似支付宝、Payp icon
  • 所有数据流水线的唯一要求是它们不能丢失数据。可以延迟或重新排序,但不能丢失。 为了满足这一要求,大多数分布式系统实现至少保证一次(least-once)传递。实现至少一次传递的技术通常等于:“重试,重试,重试”。直到在收到消费者的确认之前,否则永远不会认为 icon
  • 来自The network is reliable一文阐述当前发生在业界的一场有关分布式系统是否可靠的讨论。 icon
  • 在分布式数据库领域中,高性能 + 强一致性事务是代表数据库水平高低的重要象征,苹果的开源数据库FoundationDB是媲美Google Cloud Spanner和Azure Cosmos DB,他们发布的事务宣言说明了如何在性能和事务之间做到了最好平衡的设计思路。 icon