• 避免协调是让我们构建的分布式系统超越单机性能的一个基本要素。当我们构建避免协调的系统时,我们最终构建的组件会假设其他组件在做什么。这一点也很重要。如果两个组件不能在每一步操作后都互相检查,那么它们就需要对其他组件正在进行的行为做出假设。 有一种方法
  • 抽象是避免分心的有力工具。抽象一词的词源来自拉丁语,意思是“剪切”和“绘制”。通过抽象,您可以从复杂的系统中分离出协议,省略不必要的细节,并将复杂的系统简化为有用的模型。 例如,如果您对分布式系统的一致性模型感兴趣,则可以抽象出系统中的通信机制,因 icon
  • 您经常会听到 CAP 定理,它规定了设计分布式系统时的某种上限。 icon
  • 由线粒体驱动的新陈代谢会影响多种细胞过程:线粒体会: 产生 ATP(细胞的能量货币), 以及构建蛋白质和 DNA、 调节基因组 和执行其他关键过程所必需的一系列代谢物。 为了验证这个想法, icon
  • 分布式系统中的一致性模型: 在分布式数据系统的三个属性(一致性、可用性和分区容错性)中选择两个。- Eric Brewer,CAP 定理 分布式系统具有可扩展性和容错性等优点。然而,维持分布 icon
  • 软件架构和软件设计是同一主题的两个方面。两者都是关于如何构建软件以执行其任务。术语“软件架构”通常指软件系统的较大结构,而“软件设计”通常指较小的结构。 架构和设计之间的确切界限很难说,因为系统的架构也会影响其设计。较大结构的设计会影响较小结构的设计。</ icon
  • 这些建议提示都是分布式系统研究人员和从业人员几十年来的集体成果。 提示分为三类:功能、性能和容错:功能: 应用抽象 减少协调 拥抱单调性 表现: 偏爱偏序而不是全序 杠杆时间 icon
  • 来自Marc's Blog的文章:不变性是推理算法、数据结构和分布式系统的强大工具。对于您设计或实现的任何复杂系统或算法,都值得考虑一组不变性。以这样的方式构建您的实 icon
  • 这篇文章的目的是让读者了解: 为什么存在形式化方法以及为什么这些方法在分布式系统领域特别重要。 TLA+ 简介,包括它如何表示数据和时间的概念模型。 从这里开始,您应该能够阅读 TLA+ 上的更多高级内容,并对其内容有一些基本了解。 icon
  • 最近,Ticketmaster因泰勒·斯威夫特巡回演唱会门票销售时发生重大系统故障而成为新闻。该网站在需求的重压下崩溃,导致粉丝不满,声誉受损。 首先,我们将看看Ticketmaster的官方声明,试图从系统设计和架构的角度找出问题所在。然后,我们 icon
  • 本文讨论了在数据库模式中使用自动递增整数键和 UUID 作为主键之间的权衡。文章提议了第三种专有方案,即时间排序唯一标识符(TSID)。 以下是三种方案总结:自动递增整数键方案:具有出色的性能和按时间排序的特点,但不能由多个 icon
  • 要在系统设计方面表现出色,最关键的方面之一是深入了解基本的系统设计概念,例如负载平衡、缓存、分区、复制、数据库和代理。 1. 域名系统 (DNS)当您在 Web 浏览器中输入域名时,DNS 负责查找关联的 IP 地 icon
  • 阿里巴巴组的这篇论文讨论了如何在PolarDB数据库部署中从从节点执行低延迟强一致性读取。发表在VLDB'23 上。 < icon
  • Meta 的Meta的XFaaSXFaaS是无服务器平台,每天在分布于数十个数据中心区域的 100,000 多台服务器上 icon
  • Elasticsearch 是(且不仅仅是)企业搜索的领先解决方案之一。因此,有必要了解它的内部运作方式,以便更好地利用其功能。让我们通过一个简短的旅程来了解 Elasticsearch 的内部工作原理。 Lucene icon
  • 在分布式系统中,快速编码和测试对于理解Paxos等复杂概念至关重要。这个小框架来快速编写和测试各种复制机制。 可以快速实现复制算法并编写 JUnit 测试。它还提供了引入进程崩溃、网络断开、网络延迟和时钟偏差等故障的基本方法。 icon
  • 近年来,蜂窝架构在大型在线服务中越来越受欢迎,作为增加冗余和限制站点故障影响范围的一种方式。 蜂窝架构:客户端连接到路由层。路由层使用 HTTP 重定向将客户端重定向到指定的蜂窝单元。 为了实现这些目标, icon