• DBPack是一种以AT事务模式实现的DB网格解析,是一种分布式事务模型,不侵入业务逻辑,具有高性能。 分布式事务、读写拆分和分片的数据库代理!支持任何语言!它可以部署为 pod 中的 sidecar。
  • 涉及与分布式系统相关的常见设计问题的关键模式: 1. 布隆过滤器布隆过滤器是一种节省空间的概率数据结构,用于测试元素是否是集合的成员。它用于我们只需要知道元素是否属于它应该
  • Youtube 是世界上最受欢迎的视频分享网站之一。该服务的用户可以上传、查看、分享、评价和报告视频以及添加对视频的评论。 系统的要求和目标为了这个练习,我们计划设计一个更简单的 Youtube 版本,具有以下要求:功能要求: icon
  • 缓存有助于减少延迟、扩展读取繁重的工作负载并节省成本。它们实际上无处不在。缓存在您的手机和浏览器中运行。例如,CDN 和 DNS 本质上是地理复制缓存。多亏了许多在幕后工作的缓存,您现在可以阅读这篇博文。 Phil Karlton 有句名言:“计算 icon
  • 一个支持多种语言的分布式事务框架,支持saga、tcc、xa、2-phase message、outbox patterns#发件箱 第一个致力于微服务分布式事务解决方案的开源 Golang 项目。 支持多种模式:Saga、XA、TCC、OutBox。 支持多 icon
  • 我们在 Meta/FB 的工程博客上写了一篇文章,介绍了我们如何管理缓存失效的复杂性,并使缓存在此过程中更加一致。我相信所描述的方法应该适用于大多数基于失效的缓存。缓存 icon
  • 如何组合多个存储引擎合并组成分布式事务?Mysql、Redis、Mongo都是非常火爆的存储,各有各的优势。在实际应用中,同时使用多个存储是很常见的,保证跨多个存储的数据一致性成为一种需求。本文给出了一个跨多个存储引擎实现分布式事务的示例:Mysql、Redis 和 Mong icon
  • 我的手表嗡嗡作响,在黎明前的昏迷中,我无法辨认这是警报还是电话。时间是凌晨 4 点 45 分:我们最大的客户报告说他们的请求需要两个多小时才能返回结果。我们认为这是因为我们的RabbitMQ消息系统。 近三年来,我们一直在为我们的生产系统运行 Ra icon
  • 分片是解决网络应用发展带来的新挑战的方法之一。其他解决方案包括 DBaaS(或云中的数据库)、新的数据库架构,或者只是增加用于存储的数据库数量的老式方法。 随着智能手机的出现,应用程序将我们消耗和产生的数据量增加到了 15 年前无法想象的水平。这给数据库集群带来了很大的压力,因为它们 icon
  • 想象一下,在一个山谷里有一座城市。在山谷的两边,有一支由将军指挥的军队。左边的山上站着爱丽丝将军和她的军队。右边的山头上,站着鲍勃将军和他的军队。爱丽丝和鲍勃想占领这座城市,但双方都没有足够大的军队来单独完成这一任务。爱丽丝和鲍勃必须同时进攻城市,才有机会占领它。 < icon
  • 有人曾经告诉我,任何类型的团队或组织所经历的最艰难的转变是从大约 30 人增长到 60 人。当时,我记得我在想,“嗯,这很随意。当然,每个组织都是不同的。” 在某些方面,每个组织都是不同的。然而,我见过各种各样的团队都经历过这样的成长期,一遍又一遍地面临同样的挑战。随着每年都有大量新 icon
  • 数据复制是制作数据项的多个副本以确保可用性的过程。复制的数据通常存储在不同的数据库实例中,因此即使一个实例发生故障,我们也可以从其他实例中获取数据。实现数据复制的一种流行架构是主从架构。 主从架构为 icon
  • 现代分布式系统被设计为允许发生系统中一部分故障,即使不能取悦所有人,也会继续为一些客户提供服务。而断路器的设计是为了将部分故障变成完全故障。这属于:一种机制可能会打败另一种机制。在部署断路器之前,请确保你考虑清楚这一点:重试(大多数情况下)会使 icon
  • 利特尔定律(Little's law)是一个令人震惊的方程式,它非常简单,但它可以为你的分布式系统的能力带来惊人的洞察力。 举例:首先,假设我们去一个杂货店。想象一下,有一个店员,平均在四分钟内处理一个顾客。很明显,他可以提供服务:60分钟除以4- icon
  • 任何分布式系统的常量之一是失败。我们构建的系统能够抵御故障。假设我们想要复制到集群中的不同节点以实现高可用性和容错。我们需要问的下一个问题是——我们集群中有多少节点需要确认他们从原始服务器获得了复制副本,然后我们才能说对这个分布式系统的更新是成功的?”Quoru icon
  • Meta 的缓存失效方案论文涵盖了一些看起来很酷的可观察性和正确性工作 icon
  • Alex Petrov 是 Apple 的一名软件工程师。他写了一本关于 Database Internals 的精彩书籍,深入探讨了分布式数据系统的工作原理。我们将总结他关于数据库管理系统 (DBMS) 背后架构的书中的一小段内容。 概括 icon
  • 以下所有这些假设都是错误的一天总是有24小时。月份有 30 天或 31 天。一年有365天。二月总是28天。任何 24 小时周期将始终在同一天(或一周或一个月)开始和结束。一周总是在同一 icon