分布式CAP定理指南

     

zarusz/SlimCluster:在.NET中实现的Raft分布式共识算法

845

SlimCluster在.NET中实现了Raft分布式共识算法。此外,它还实现了SWIM集群成员列表(节点的加入和离开/死亡)。 成员列表需要维护哪些微服务实例(节点)构成一个集群。 Raft共识有助.

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

976 3K

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

分布式 SQL 使数据库更上一层楼 - thenewstack

750

在过去的三个十年中,数据库的发展一直是全球各个行业和各种规模企业技术创新的重要组成部分。在 1990 年代末到 2000 年代初,数据库遇到了性能瓶颈。难的。互联网的成功,加上应用程序开发的爆炸式增长.

使用Kafka重新架构电子商务系统 - Dina

1383 1 2K
示例是:向经过身份验证的用户显示产品页面,下图显示了在这种情况下如何执行请求。为经过身份验证的用户显示产品页面,请注意,必须执行五个请求,但我们应该只计算四个顺序请求。尽管如此,由于请求是以同步方式执.

以太坊分片技术原理 - vitalik

1815 1

分片是以太坊可扩展性的未来,它将是帮助生态系统每秒支持数千笔交易并允许世界上大部分地区以可承受的成本定期使用该平台的关键。 可扩展性三难困境描述分片的最佳方式从形成和启发解决方案的问题陈述开始:可扩展.

Myntra如何设计其用户账户的数据库架构?

1198 1 2K

Myntra用户帐户服务是创建和管理帐户所需的用户属性。帐户服务将存储用户凭据、主要/次要电子邮件/电话、性别、年龄等属性(完整列表可在后续部分中找到)。所有这些属性都在帐户级别,不包含任何其他域/服.

跨微服务的 ACID 事务

982

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

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

1340 5K

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

从消费者角度比较Kafka 与 RabbitMQ - OpenCredo

1092 1 7K

对于大型分布式系统,Kafka 往往是更好的选择。它可以更有效地横向扩展,为更大的场景实现更好的吞吐量,包括消费者离线和不可用时。RabbitMQ 非常适合具有较低延迟要求的系统,消费者可以跟上消息的.

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

881

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

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

909 6K

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

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

1080 2K

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

数据库毁了所有好主意 - squarism

1101 2 3K

本文假设是一个三层网络堆栈。它有很多 Web 和应用程序服务器,但只有一个数据库框。你可以用云来代替它,但原理是一样的。我敢打赌你的基础设施看起来非常相似。对于本文的其余部分,假设我说的数据库是指传统.

Airbnb在分布式支付系统中如何避免双重支付?

1600 1 14K
Airbnb一直在将其基础架构迁移到面向服务的架构(“SOA”)。SOA 提供了许多优点,例如支持开发人员专业化和更快迭代的能力。但是,它也给计费和支付应用程序带来了挑战,因为它使维护数据完整性变得更.

分布式计算的八个谬误 - Ably

1753 4K

为了更好地理解设计可靠的分布式系统所带来的挑战,我们必须参考分布式计算的谬误——架构师和开发人员可能做出的一系列错误假设:网络是可靠的。延迟为零。带宽是无限的。网络是安全的。拓扑不会改变。有一名管理员.

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

1380 1

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

Fly公司如何实现全球分布式Postgres?

720 2K

本文讨论如何使用标准工具和简单的 Fly 功能部署具有全局复制 Postgres 的标准 CRUD 应用程序,用于读取和写入。如果您过去曾构建过全球分布的应用程序,那么您可能熟悉这些挑战。扩展只能读取.

使用Redis构建高并发高可靠的秒杀拍卖系统 - Luis

2750 1 6K

如何构建高可靠性且一致地处理数百万并发用户的拍卖系统、抢拍系统?诸如耐克,阿迪达斯或至尊之类的品牌在市场上创造了一种新的趋势,称为“drops”,在那里他们发布了数量有限的商品。在实际发行之前,通常是.

幽默:Salesforce根据CAP定理设立人事职位?

754

这是一个分布式系统的笑话,Salesforce推出基于分布式云系统SaaS CRM应用系统,那么CAP定理应该是他们的基因: 2021年5月11日UTC 2100左右Salesforce发生中断事故:.

区块链生态中致命的伸缩性问题 - CoinGeek

825 1

如果基于比特币的协议没有块大小限制,没有链式交易限制,没有脚本限制或其他任何内容,这意味着您可以梦想的任何事情都可以在比特币上构建。在这种理想实现之前,看看当前区块链生态的问题有: 比特币BTC : .

分布式系统基础论文 - muratbuffalo

1903 9K

这是我在分布式系统领域的基础论文汇编。(我专注于核心分布式系统领域,不涉及网络,安全性,分布式分类帐,验证工作等。我甚至没有涉及分布式事务,希望以后再讨论它们。) 我按主题对论文进行了分类,并按时间顺.

消息队列全面大指南 - sudhir

2148 1 15K

消息队列基础概念的指南,以及它们如何应用于当今流行的排队系统。在本指南中,我们将讨论: 什么是消息队列及其历史记录。 为什么它们有用,以及在推理时要使用哪些心理模型。 交付保证了排队系统的语义(至少一.

一张图完美解释CAP定理

2132 1
点击标题见该图来源大意解释:是否需要分区?分布式系统=分区如果否,那么你很容易获得高一致性和高可用性,例如传统关系数据库。如果是需要分区,那么这个分布式系统中是否实现了节点服务器之间的复制,这种复制不.

在微服务架构中实施分布式事务锁的几个方案比较 - Prasanth Gullapalli

3157 1 23K

众所周知,锁通常用于监视和控制多个线程同时访问共享资源。它们基本上保护并发应用程序中的数据完整性和原子性,即,一次只能有一个线程可以获取共享资源上的锁,否则将无法访问该锁。但是在分布式环境中的锁定不仅.

Cloudflare分布式系统中的拜占庭式失败与Raft选举问题 - cloudflare

1834 2 3K
当我们在Cloudflare审查设计文档时,我们总是在寻找单点故障(SPOF)。消除这些问题是构建您有信心的系统的必要步骤。具有讽刺意味的是,当您设计具有内置冗余的系统时,您会花费大量时间来考虑冗余失.

快速失败是让失败立即快速发生! - pathelland

1010

随着我们逐渐利用云计算,这变得越来越具有挑战性。由于各个组件都面临着被称为“灰色失败”的新挑战,因此我们创建强大解决方案的方法仍然面临压力 。在出现灰色故障时,服务器或网络的一部分不会快速失败,而是开.

区块链与DAG的比较 -ICO.li

1972

DAG被认为是区块链技术的后继者。但是两种技术都是针对不同的用例而开发的。术语“分布式分类帐技术”(DLT)和“区块链技术”通常是同义词。但这是不正确的。DLT是一个广义术语,也包括其他技术。“有向无.

什么是分布式一致性领域的CALM定理? -ACM

2794 1 5K
逻辑单调性的一致性(Consistency As Logical Monotonicity:CALM):当且仅当问题是单调的时,问题才具有一致的、无需协调的分布式实现。CALM定理是为了避免分布式事务.

以汇总为中心(rollup-centric)的以太坊路线图:基于分片之上的汇总方案可将每秒交易数即吞吐量提高约6400倍!

1456 1 3K
由于CAP定理等三难问题存在,区块链当前最大挑战是需要提高分布式事务的处理规模,也就是每秒交易笔数。传统比特币存在每秒7笔交易的限制,以太坊使用了gas机制,随着网络变得越来越繁忙,以太坊gas价格也.

5分钟内让你了解Apache Ignite - softwaremill

4393 1 5K

Apache Ignite是一个水平可扩展的,容错的分布式内存计算平台,用于构建实时应用程序,该应用程序可以以内存速度处理数TB的数据。它是一个分布式系统。Apache Ignite形成一个集群,可以.