分布式共识一致性教程

     

从架构师思维看分布式事务两种技术方案 - banq

1718 1 2K
程序员从无到有构建代码,应该注重组合思维,做出来的东西需要能够相互组合在一起;而架构师是从上而下的视角,因为不参与具体细节构建,但为了落地,应该具有多维度多维度视角,从程序员到架构师思维转变很重要。下.

分布式数据库的复制原理 - Quastor

914 4K

如果您对后端工程感兴趣,那么设计数据密集型应用程序 (DDIA) 是必读的。数据工程世界充满了流行语和炒作,但Martin Kleppman在分解所有核心技术方面做得非常出色。这是 DDIA 关于复制.

比UUID更快:如何生成分布式唯一时间戳标识符 - vanillajava

1747 1 3K

本文介绍了一个直接支持分布式标识符生成的实现。1. 分布式系统中的并发标识符生成每个主机都有一个预定义的唯一主机标识符或hostId 。TimeProvider[url=https://github..

tikv/raft-rs:在 Rust 中实现的 Raft 分布式共识算法源码

1475 1

在构建分布式系统时,一个主要目标通常是构建容错。也就是说,如果网络中的一个特定节点出现故障,或者存在网络分区,则整个集群不会发生故障。参与分布式共识协议的节点集群必须就价值达成一致,一旦达成该决定,该.

bastion-rs/bastion:类似Akka的高可用分布式容错Rust运行时

1151 1

Bastion 是一个高可用、容错的运行时系统,具有动态的、面向调度的、轻量级的进程模型。它通过轻量级进程实现提供类似参与者模型的并发性,并有效地利用所有系统资源来保证最多一次的消息传递。特点: 基于.

ChiselStore:Rust编写的Raft分布式SQLite数据库

1879

ChiselStore 是一个可嵌入的分布式Rust SQLite,SQLite 是一个快速而紧凑的关系数据库管理系统,但它仅限于单节点配置。ChiselStore 扩展 SQLite 在具有Raft.

什么是加密货币DAO?

1591
加密货币DAO是去中心化自治组织(Decentralized Autonomous Organization简写),也称为去中心化自治公司,这类似一种有限责任公司,只不过无需CEO,是由程序代码自动执.

shosti/wraft: 使用Rust和WebRTC在浏览器中实现分布式Raft

2237 1 3K
是一个基于 WebRTC 的 Raft 实现,用 Rust 编写,用于 WebAssembly。这里有几个演示应用程序,代码在 GitHub 上是开源的。这是一个有趣且具有挑战性的项目,所以我想我会写.

Peritext:用于富文本协作的新型CRDT

1575 6K

Google Docs 等协作编辑器允许人们实时处理富文本文档,当用户希望立即查看彼此的更改时,这很方便。然而,有时人们更喜欢更异步的协作方式,在这种方式下,他们可以暂时处理文档的私人副本,然后再分享.

配置Apache Kafka生产者参数以获得高可用性和弹性 - Nabraj

1061 4K
Apache kafka以其弹性、容错性和高吞吐量而闻名。但它的表现并不总是满足所有人的期望。在某些情况下,我们可以通过缩小或扩大代理规模来改进它。而在大多数情况下,我们必须玩配置游戏。在卡夫卡的生态.

分布式共识灵活Paxos英文参考资料目录

647 8K

灵活Paxos是比Paxos更宽松灵活的算法,它是一个简单的观察,不需要要求 Paxos 中的所有群体都参与,要求领导选举阶段(阶段 1)使用的仲裁与之前复制阶段(阶段 2)使用的仲裁能重叠就足够了。.

建模重要性:使用建模工具发现Paxos实现中的一个错误 - brooker

755

在过去的几周里,我一直在学习优秀的P 编程语言,一种用于建模和指定分布式系统的语言。我在 P 中做的第一件事就是实现 Paxos——一种我很熟悉的算法,有很多微妙的失败模式,而且很容易出错。为了测试 .

分布式共识协议Paxos本质是一次写入寄存器? - maheshba

1131 1 4K

在系统中,我们通过抽象来处理复杂性。对于任何系统,都存在三个关键问题: 它实现了什么抽象? 这种抽象的设计空间是什么? 为什么这个抽象有用? 在这篇文章中,我们将回答 Paxos 的前两个问题。本文档.

NFT可能创建了元宇宙的谢林点?

1136

谢林点是指基于理性前提下,人们没有事先沟通,而能达成的一种默契,注意,这是基于理性前提,不是基于心理暗示,大家都如果因为数字8吉祥而选择8,这属于基于心理暗示,理性前提是基于理智判断情况下,我知道你是.

如何在微服务分布式架构中删除数据? - bennorthrop

1954 1 4K

尽管微服务具有各种好处,但似乎也有许多新的复杂性和并发症。我最近经常遇到的一种情况(并没有找到很多很好的资源)是删除数据。考虑一个简单的例子:有三种服务:Product 服务,管理与所提供的产品,Or.

优步是如何使用Apache Flink和Kafka实现实时Exactly-Once广告事件处理?

1235 4K

优步最近推出了一项新功能:UberEats 上的广告。这种新能力带来了 Uber 需要解决的新挑战,例如广告拍卖、竞标、归因、报告等系统。本文重点介绍我们如何利用开源技术构建 Uber 的第一个“近实.

比较服务间通信的技术 - ardalis

1429 1 6K

在分布式软件应用程序中,不同的服务或进程或应用程序经常需要相互通信。微服务和容器以及云原生应用程序的现代架构趋势都增加了应用程序将越来越多地部署为相关服务的集合而不是单个单体的可能性。这些应用程序可以.

跨微服务的 ACID 事务

935 2K

大规模分布式系统上的分布式事务被认为本质上是邪恶的,需要按照CAP 定理,为了避免走弯路,请参考:分布式事务可能是个伪概念以及Shopify如何使用Saga等模式实现电子商务:Shopify如何使用R.

如何在多区域运行Zookeeper?- Ankur

1192 5K

Zookeeper将自己定义为“用于维护配置信息的集中式服务”等。为了对数据建模,它使用具有路径作为标识符并保存值的znode。在 Flipkart,我们使用 zookeeper 作为为多个应用程序提.

Uber如何重新架构其作业平台?

1061 1 8K

优步的使命是帮助我们的消费者在全球数千个城市轻松前往任何地方并获得任何东西。在其核心,我们捕捉消费者的意图并通过将其与一组正确的提供者进行匹配来实现它。 作业履行(Fulfillment )是“向客户.

Facebook开源分布式系统的NTP时间校准器

829

这是一种可以将任何PC服务器变成时间设备的 PCIe 卡,Facebook 工程师已经构建并开源了一个 Open Compute Time Appliance,这是现代计时基础设施的重要组成部分。Fa.

Redis Cluster:为高性能付出了不安全的代价 - emil

847 7K

本文旨在解释为什么 Redis 不适合用作 NoSQL 数据库,其中持久化数据的持久性和一致性是必不可少的。很难想到比 Redis 更广为人知的数据存储。在 Stack Overflow 上,它连续三.

分布式一致性CRDTs的几个框架库推荐 - josephg

1938

CRDT (无冲突复制数据类型)是一种花哨的编程工具,可以让多个用户同时编辑相同的数据。它们让您可以毫无延迟地在本地工作。(您甚至不必在线)。当您与其他用户和设备同步时,一切都会神奇地同步并最终保持一.

Redis用于分布式缓存全局硬刷新的心得

1009 3K

我们依赖缓存,因为应用程序需要大量读取。但是会有修改写发生,如果您在世界各地运行缓存,它们最终可能会偏离其真实数据来源。糟糕的缓存数据真的会激怒人们。它可以完全破坏应用程序,这就是为什么需要一个“硬刷.

分布式系统中几种“一致性”概念的简单解释 - pathelland

1315 1 2K

一致性一词似乎至少有三种流行用法 : 数据库一致性。 这是完整交易与一些未声明的未声明规则的执行的混合。因为事务内的更新集必须由与数据库上层部分勾结的应用程序限定,所以应用程序和上层数据库可以强制执行.

变更数据捕获CDC的八个实际案例 - Dunith

1693 1 4K

如何应用变更数据捕获CDC将数据从生产数据库可靠地迁移到其他系统?OLTP 数据库中积累的操作数据通常需要取出来执行事务处理以外的有用任务。这包括将数据移出数据仓库、更新缓存、仪表板等。更改数据捕获 .

KMQ:基于Apache Kafka的可靠性消息队列

1899
当从Apache Kafka接收消息时,只能确认所有消息的处理达到给定的偏移量。由于这种机制,如果出现任何问题并且我们的处理组件出现故障,重新启动后它将从最后提交的偏移量开始处理。但是,在某些情况下,.

使用Apache Kafka对电子商务系统进行扩展的思路 - Bogdan

651 2K

案例:我们正面临一个以同步方式过度耦合到大量外部组件的遗留电子商务系统。由于这种高耦合度,我们的系统可能面临多个问题,例如: 当需要时却难以扩展 高负载下性能低 外部服务不可用造成的不可用 由于协调部.

最全面微服务教程:SpringBoot + DDD + Apache Kafka实现最终一致性 - itnext

5036 7 6K
这是关于如何使用Spring for Apache Kafka在跨多个微服务的MongoDB中管理分布式数据模型。由多个微服务组成的现代分布式系统,每个微服务都拥有一个领域的聚合数据的子集,那么该系统.

探索无Zookeeper的新Kafka - morling

1429 4K

有时候,少即是多。绝对正确的一种情况是依赖项。因此,Apache Kafka社区热切地等待着对ZooKeeper服务的依赖关系的删除就不足为奇了,过去ZK主要用于存储Kafka元数据(例如,有关主题和.