Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
分布式CAP定理指南
分布式系统中的乐观和错误假设
避免协调是让我们构建的分布式系统超越单机性能的一个基本要素。当我们构建避免协调的系统时,我们最终构建的组件会假设其他组件在做什么。这一点也很重要。如果两个组件不能在每一步操作后都互相检查,那么它们就需要对其他组件正在进行的行为做出假设。 有一种方法
Go中悲观锁、乐观锁+2PC实现分布式事务
在本文中,我将在基本的酒店预订系统中使用 Go 实现2PC(两阶段提交),并使用悲观锁定和乐观锁定。在此系统中,我们将重点创建预订流程并将使用 PostgreSQL 数据库。
用生活案例形容说明什么是CAP定理
您经常会听到 CAP 定理,它规定了设计分布式系统时的某种上限。
cloudflare在多租户数据库环境中遭遇的问题与挑战
以 Cloudflare 规模运营意味着我们在整个技术堆栈中花费大量时间来处理不同的负载条件。在这篇博文中,我们讨论如何使用 Postgres 集群解决性能难题。这些集群支持大量租户和高度可变的负载条件,导致需要隔离活动以防止租户占用其他租户太多时间。欢迎来到现实世界的大型数据库集群管理!<
幽默:什么是两段事务机制2PC?
typeid:受 Stripe ID 启发的类型安全、K-sortable、全局唯一标识符
TypeIDs是UUIDv7的一个现代的、类型安全的扩展。 TypeIDs被规范地编码为小写的字符串,由三部分组成: 一个类型前缀 一个下划线'_'分隔符 一个128位UUIDv7编码为base32的26个字符的字符
一致性模式
分布式系统中的一致性模型: 在分布式数据系统的三个属性(一致性、可用性和分区容错性)中选择两个。- Eric Brewer,CAP 定理 分布式系统具有可扩展性和容错性等优点。然而,维持分布
分布式系统8种认知偏见
分布式系统的谬误是由L Peter Deutsch和Sun Microsystems公司的其他人提出的一套论断,描述了刚开始接触分布式应用的程序员总是做出的错误假设。 微服务的大规模采用,迫使更多的工程师了解这一决定在其系统中的影响。
基于Http的ETags和If-Modified-Since实现乐观并发性
HTTP的特点是ETags和条件性请求,并启用乐观的并发性。 ETagETag(又称实体标记entity-tag)解决了 "丢失更新 "的问题,即一个API的两个客户端已经收到了一个实体的版本的数据。但是,
Epoxy分布式事务简介
传统的解决方案是通过像X/Open XA这样的协议使用两阶段提交。 然而,虽然XA被大多数大型关系数据库(如Postgres和MySQL)支持
纳秒时间戳不适合做唯一标识符
在现代系统中,纳秒时间戳碰撞的频率有多高?答案是:非常频繁,比如在同时读取所有 4 个物理内核的时钟时,有 5%的样本会发生碰撞。 因此,采用原始纳秒时间戳作为唯一标识符是不安全的。
Kafka 事务的一次性语义
事务为发布到 Kafka 的一组消息提供原子性、一致性、隔离性和持久性 (ACID) 的保证。这意味着要么事务中的所有消息都将成功写入 Kafka,要么不会写入任何消息。在确保数据一致性和避免任何数据丢失方面,这是一个至关重要的功能。 Kafka 事务在数
PACELC定理与CAP定理比较
根据CAP定理,数据库即使在15天后才返回查询响应,也是可用的,但对于任何真实世界的应用程序来说,这种延迟是不可接受的。 什么是CAP定理CAP定理是分布式计算领域的一个基本理论,它由计算机科学家Eric Brew
又是每个程序员都应该知道的:幂等性
在编程世界中,每个开发人员都应该理解许多概念,以便构建高效可靠的系统。其中一个重要的概念是幂等性,它指的是操作或函数的属性,多次应用时产生的结果与仅应用一次时产生的结果相同。这似乎是一个简单的概念,但它对于构建分布式系统具有重要意义。 无论您是初学
PolarDB-SCC:阿里低延迟强一致性读取的云数据库分析
阿里巴巴组的这篇论文讨论了如何在PolarDB数据库部署中从从节点执行低延迟强一致性读取。发表在VLDB'23 上。 <
Epoxy:跨不同数据存储的 ACID 事务
Epoxy 利用 Postgres 事务数据库作为主数据库/协调数据库,并扩展多版本并发控制 (MVCC) 以实现跨数据存储隔离。它通过乐观并发控制 (OCC) 和两阶段提交 (2PC) 协议提供隔离性以及原子性和持久性。 环氧树脂被用作五种不同数
缓存如何满足每日 12 亿个API请求?
在 RevenueCat,我们每天处理超过 12 亿个请求。只有在以下情况下您才能有效地做到这一点: 您可以在许多 Web 服务器之间分配负载。 您可以使用缓存来加速对热数据的访问并保护后端系统和数据存储的容量。
帮助理解分布式系统复制算法的开源项目
在分布式系统中,快速编码和测试对于理解Paxos等复杂概念至关重要。这个小框架来快速编写和测试各种复制机制。 可以快速实现复制算法并编写 JUnit 测试。它还提供了引入进程崩溃、网络断开、网络延迟和时钟偏差等故障的基本方法。
上页
下页