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