• 我的手表嗡嗡作响,在黎明前的昏迷中,我无法辨认这是警报还是电话。时间是凌晨 4 点 45 分:我们最大的客户报告说他们的请求需要两个多小时才能返回结果。我们认为这是因为我们的RabbitMQ消息系统。 近三年来,我们一直在为我们的生产系统运行 Ra
  • 有人曾经告诉我,任何类型的团队或组织所经历的最艰难的转变是从大约 30 人增长到 60 人。当时,我记得我在想,“嗯,这很随意。当然,每个组织都是不同的。” 在某些方面,每个组织都是不同的。然而,我见过各种各样的团队都经历过这样的成长期,一遍又一遍地面临同样的挑战。随着每年都有大量新 icon
  • 数据复制是制作数据项的多个副本以确保可用性的过程。复制的数据通常存储在不同的数据库实例中,因此即使一个实例发生故障,我们也可以从其他实例中获取数据。实现数据复制的一种流行架构是主从架构。 主从架构为 icon
  • 本白皮书汇总了经典事务和分布式事务的概念。然后,我们解释了基于云的应用如何受到分布的影响。最后,我们介绍了基于补偿的事务,作为基于微服务的应用事务的可靠方法,即使是在云中。 1、经典事务我们 icon
  • 任何系统设计面试肯定会要求您为您尝试构建的任何系统提出基本的高级设计。有一些组件是肯定需要的。记下这些组件: 1、负载均衡器  如果没有负载均衡器来在各个节点之间分配传入请求,就不可能拥有分布式系统。这确保 icon
  • 俗话说计算机科学只有两件难的事:缓存失效和命名。好吧,事实证明第一个实际上已经解决了。了解如何在靠近用户的分布式缓存中保持数据的读取视图,始终与您的主数据存储更改数据捕获保持同步。你将学到如何: * 为基于 Debezium、Apache Kafka 和 Infini icon
  • 任何分布式系统的常量之一是失败。我们构建的系统能够抵御故障。假设我们想要复制到集群中的不同节点以实现高可用性和容错。我们需要问的下一个问题是——我们集群中有多少节点需要确认他们从原始服务器获得了复制副本,然后我们才能说对这个分布式系统的更新是成功的?”Quoru icon
  • 本文将介绍缓存方面的一些挑战、使用的典型解决方案以及使用命令查询职责分离 (CQRS) 作为更好策略的概念。 缓存都是关于延迟的 icon
  • 作为一名软件工程师,我一直想知道事务是如何工作的,以及它们在分布式系统中是如何管理的,所以我用谷歌搜索了一下,发现了很多模式和规范,比如 JTA、2PC、SAGA、事件驱动架构、发件箱等…… 在本文中,我将概述分布式事务,并尝试解释两阶段提交模式。 icon
  • 一个重要的网站需要一个网络服务器来接收请求和一个数据库来写入或读取数据。但是,如果每秒收到数百万个请求,这种简单的设置只有在优化数据库或更改整体数据库策略后才能扩展。那是对的吗?数据库最终达到了活动连接数的限制,并且难以管理并发请求。 icon
  • 如果您在一家现代科技公司工作,您可能遇到过“分布式系统”一词。在这篇博文中,我将分两部分进行介绍,第一部分是关于关键概念和时间表,第二部分是关于行业中使用的一些模式。这篇博文的目的是分享足够的基础信息和资源,如果有兴趣,您可以自行深入挖掘。 icon
  • 虽然状态机复制是实现任何理想功能的黄金标准,但它需要对所有交易 (事件)进行完全的总排序(全序),在某些情况下,这种开销是不必要的。 事实证明,在许多自然用例中,特别是规范的简单代币支付用例,不需要全序:作为一个具体的例子,假设 Alice 正在将 icon
  • 您的应用正在变得越来越好。它有更多的功能,更多的活跃用户,并且每天收集更多的数据。您的数据库现在导致应用程序的其余部分变慢。数据库分片可能是您问题的答案,但许多人不知道它是什么,最重要的是,不知道何时使用它。在本文中,我们将讨论什么是数据库分片、它是如何工作的以及使用它的最佳方式。 icon
  • Kafka的关键配置min.insync.replicas :用户消息生产的客户端配置,表示消息生产者认为写入成功之前确认收到记录的代理数量。 - acks==0 — 发送请求时认为写入成功 - 无需等待响应。 - ​​​​​​​acks==1 — 当领导者收到记录并 icon
  • Apache Kafka 不需要 fsyncs 来确保安全,因为它在其复制协议中包含恢复。它是一个真实世界的分布式系统,使用异步日志写入 + 恢复,并内置一些额外的额外安全性。异步日志写入使其能够在各种硬件和各种工作负载上提供强大的性能。 icon
  • 在我这个项目中,有多个数据库和服务需要无缝通信和交换数据。然而,在这些不同的系统中保持交易的完整性已被证明是一个相当大的障碍。我想确保所有相关操作要么成功,要么失败,避免任何不一致或数据差异。 我正在使用的一些数据库和服务包括(但不限于):- Po icon
  • 系统事件可以根据它们发生的时间来排列。时钟计时并产生时间戳。传统时钟(例如时钟)使用通用参考来了解时间。该参考可以是内部硬件或使用 NTP 等协议提供时间的公共服务。然而,由于时钟漂移和/或网络时间延迟的假设,传统时钟的时间戳并不总是相互比较,因此无法使用传统时钟的时间戳可靠地排序事件。</ icon