分布式架构资料教程

     

一致性模式

561 3K

分布式系统中的一致性模型:在分布式数据系统的三个属性(一致性、可用性和分区容错性)中选择两个。- Eric Brewer,CAP 定理分布式系统具有可扩展性和容错性等优点。然而,维持分布式系统的一致性.

什么是服务发现模式?微服务中客户端和服务器端发现有什么区别?

766 1 2K

在分布式系统架构中,服务发现在实现服务间的有效通信方面起着关键作用。服务发现模式提供了在网络中动态定位和访问服务的机制。服务发现中两个常用的方法是客户端发现和服务器端发现。在这篇文章中,我们将探讨什么.

10 个Spring Cloud微服务实现的分布式系统模式

690 1 3K
这是每个 Java 微服务开发人员都应该了解的 10 个最重要的 Spring Cloud 功能:Spring Cloud 是 Java 开发人员构建微服务的主要框架之一,在本文中我将向您介绍 10 .

typeid:受 Stripe ID 启发的类型安全、K-sortable、全局唯一标识符

603

TypeIDs是UUIDv7的一个现代的、类型安全的扩展。TypeIDs被规范地编码为小写的字符串,由三部分组成: 一个类型前缀 一个下划线'_'分隔符 一个128位UUIDv7编码为base32的2.

分布式系统8种认知偏见

497 2K

分布式系统的谬误是由L Peter Deutsch和Sun Microsystems公司的其他人提出的一套论断,描述了刚开始接触分布式应用的程序员总是做出的错误假设。微服务的大规模采用,迫使更多的工程.

分布式系统设计模式手册

903 25K
如果您决定确实需要分布式系统,那么您将面临一些常见的挑战: 异构性——分布式系统允许我们使用范围广泛的不同技术。问题在于我们如何在所有不同服务之间保持一致的通信。因此,重要的是要商定并采用通用标准以简.

深入了解分布式键值存储etcd

595 3K

在分布式系统领域,确保跨多个节点的数据的一致性和协调性至关重要。etcd 由 CoreOS 团队开发,受到 Raft 共识算法的启发,是一个开源的分布式键值存储,为应用程序提供可靠的分布式协调。它广泛.

系统设计中的可扩展性:如何学习技术、原则和最佳实践 - Arslan

728 6K

通过学习可扩展系统设计的原则、技术和最佳实践,掌握可扩展性并给面试官留下深刻印象。我们大多数人都以错误的方式处理系统设计中的可扩展性。我们低估了可扩展性在面试中的重要性。我们并不完全了解其背后的技术和.

为什么 Apache Kafka 不需要 Fsync 来保证安全?

496 2K

Apache Kafka 不需要 fsyncs 来确保安全,因为它在其复制协议中包含恢复。它是一个真实世界的分布式系统,使用异步日志写入 + 恢复,并内置一些额外的额外安全性。异步日志写入使其能够在各.

每个程序员都应该学习的十大系统设计概念 - DEV

786 1

系统设计是构建复杂应用程序的软件工程师的基本技能。它需要创造性和系统地思考如何解决问题的能力,以及有效实施解决方案的技术知识。在本文中,我们将回顾每个程序员都应该学习的前 10 个系统设计概念。1. .

分布式数据库的内部工作原理

806 12K
由于我的新电动自行车在商店里而无法再次骑着它去上班(这次是因为电线问题导致自行车无法运行!),我开始考虑如何在我的自行车中创造一些冗余设置,这样我就不会因为简单的维护或供应链问题而一次被困在地铁上数周.

时钟和因果关系 - 分布式系统中的排序事件

406

系统事件可以根据它们发生的时间来排列。时钟计时并产生时间戳。传统时钟(例如时钟)使用通用参考来了解时间。该参考可以是内部硬件或使用 NTP 等协议提供时间的公共服务。然而,由于时钟漂移和/或网络时间延.

Service Weaver 简介:谷歌编写分布式应用程序的框架

2218 2 2K

服务编织器简介:用于编写后端应用程序的新开源框架。 最重要的是,Service Weaver允许您将应用程序编写为一个模块化的整体,并使用自定义部署程序将其部署为一组微服务。更具体地说,Service.

四种分布式数据库介绍

731

许多分布式系统有效地使用专用存储,例如: 时间序列 blob存储 图形数据库 空间数据库 下面是对它们的简要介绍:时间序列时间序列是与特定时间相关的大量数据的专门存储。 它们经过优化,可以测量数据随时.

分布式数据库tigerbeetle设计灵感来自LMAX架构

968 4K

这份文档记录了分布式财务会计数据库 TigerBeetle 背后的设计决策:我们希望其他人可以轻松构建下一代金融服务和应用程序,而不必从头开始拼凑会计或分类账记录系统。TigerBeetle 采用最新.

分布式系统关键概念和模式 - klarna

1001 4K

如果您在一家现代科技公司工作,您可能遇到过“分布式系统”一词。在这篇博文中,我将分两部分进行介绍,第一部分是关于关键概念和时间表,第二部分是关于行业中使用的一些模式。这篇博文的目的是分享足够的基础信息.

什么时候我们需要微服务?

958 2K

宗教、法律和惯例都是为了解决社会问题而产生的,正如新技术是为了解决技术问题而产生的一样。微服务架构是针对技术问题的一种新的技术发展。不幸的是,由于对微服务的历史缺乏了解,这一概念在软件开发界仍有争议。.

为什么好的软件架构很重要? – Maciej

1391 1 3K

近年来,我在IT公司遇到过很多因软件架构不正确而导致的问题。不正确是什么意思?在大多数情况下,这是一个方向——相对于它应该解决的问题来说:要么过于简单要么极其复杂这两种情况都会导致性能问题并阻止组织变.

什么是数据库分片?

1978 3K
了解跨多台机器拆分数据库如何通过并行处理大容量应用程序的请求来提高性能当存储在数据库中的数据增长到开始影响应用程序性能的程度时,数据库分片是一种有用的数据库架构模式。数据库分片是一种高级数据库架构概念.

thalo-rs/thalo:wasm 的事件溯源运行时

1310 3K

Thalo 是用于构建分布式系统的事件源运行时。[url=https://wasmtime.dev/]它建立在组件的Wasmtime[/url]之上,并使用消息数据库作为消息存储。聚合体由任何支持的编.

系统设计面试完整列表

1880 3K

系统设计面试完整列表:1.网络通信协议分布式系统中的机器通过网络彼此通信。需要了解的内容: - 对低级网络的基本了解 - 协议(IP、TCP、UDP、DNS和HTTP) 2.储存信息存储是每个分布式系.

Twitter为什么没有宕机?

1384 2K

五年来,我一直是 Twitter 的站点可靠性工程师 (SRE),以后四年里,我是 Cache 团队唯一的 SRE,四年来,我负责团队中的自动化、可靠性和运营。我设计并实现了大部分保持它运行的工具。缓.

不要使用UUID,它不安全!

3477 2 2K

如果您需要一个不可猜测的随机字符串(例如,用于会话 cookie 或访问令牌),可能很想获取一个随机 UUID,如下所示:88cf3e49-e28e-4c0e-b95f-6a68a785a89d这是一.

马斯克刚公布Twitter数据读取架构图

1703 4
下图是Alex Xu根据上述草图绘制的正式图:下图是十年前架构图:马斯克透露:Notes from last night:- Maybe deprecate TLS this week, as onl.

亚马逊的分布式计算宣言 - werner

1360 6K

在将近25年之后,我将完整地发表《分布式计算宣言》,这是亚马逊早期的一份内部文档,它改变了我们电子商务平台的架构。亚马逊的系统架构的一个非常简短的历史:在我们深入了解亚马逊的架构历史之前,先了解一下我.

本地计算、云计算、雾计算、边缘计算有什么区别?

2101

在我们开始比较内部部署与云计算与雾计算与边缘计算之前,我们需要退一步,使用第一原则思考,首先以逐步的方式定义这些术语。让我们从什么是计算开始?  为了我们的目的,让我们保持简单:它是由计算设备(硬件或.

集中式Web的几种替代方案比较

1416 1 3K

点对点(P2P)协议使建立分散的应用程序更容易,无需任何额外的服务器或网络基础设施就可以工作。与集中式平台相比,它们提供了更多的隐私和弹性,并减少了建立使人们能够共享数据的应用程序的障碍。然而,有几个.

Timestone:Netflix 的高吞吐量、低延迟优先队列系统

1123

Timestone:Netflix 的高吞吐量、低延迟优先队列系统,内置支持不可并行化的工作负载。Timestone 是我们内部构建的高吞吐量、低延迟优先级排队系统,用于支持我们的媒体编码平台Cosm.

async-raft:使用 Tokio 框架实现 Raft 分布式共识协议

1334

速度极快的 Rust、现代共识协议和可靠的异步运行时——该项目旨在为下一代分布式数据存储系统(SQL、NoSQL、KV、流式传输、图形......或者更奇特的东西)提供共识主干)。这个 crate 与.

分布式系统中的数据复制

1517 1 2K
数据复制是制作数据项的多个副本以确保可用性的过程。复制的数据通常存储在不同的数据库实例中,因此即使一个实例发生故障,我们也可以从其他实例中获取数据。实现数据复制的一种流行架构是主从架构。主从架构为了理.