Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
分布式CAP定理指南
DTM:Golang中微服务架构的分布式事务框架
一个支持多种语言的分布式事务框架,支持saga、tcc、xa、2-phase message、outbox patterns#发件箱 第一个致力于微服务分布式事务解决方案的开源 Golang 项目。 支持多种模式:Saga、XA、TCC、OutBox。 支持多
系统设计:如何设计Youtube?
Youtube 是世界上最受欢迎的视频分享网站之一。该服务的用户可以上传、查看、分享、评价和报告视频以及添加对视频的评论。 系统的要求和目标为了这个练习,我们计划设计一个更简单的 Youtube 版本,具有以下要求:功能要求:
19种分布式系统设计模式 - Nishant
涉及与分布式系统相关的常见设计问题的关键模式: 1. 布隆过滤器布隆过滤器是一种节省空间的概率数据结构,用于测试元素是否是集合的成员。它用于我们只需要知道元素是否属于它应该
如何实现跨Mysql、Redis和Mongo分布式事务? - dongfu
如何组合多个存储引擎合并组成分布式事务?Mysql、Redis、Mongo都是非常火爆的存储,各有各的优势。在实际应用中,同时使用多个存储是很常见的,保证跨多个存储的数据一致性成为一种需求。本文给出了一个跨多个存储引擎实现分布式事务的示例:Mysql、Redis 和 Mong
缓存高一致性:Meta的缓存失效解决方案
缓存有助于减少延迟、扩展读取繁重的工作负载并节省成本。它们实际上无处不在。缓存在您的手机和浏览器中运行。例如,CDN 和 DNS 本质上是地理复制缓存。多亏了许多在幕后工作的缓存,您现在可以阅读这篇博文。 Phil Karlton 有句名言:“计算
CECTC/dbpack: 用Golang编写的分布式事务中间件
DBPack是一种以AT事务模式实现的DB网格解析,是一种分布式事务模型,不侵入业务逻辑,具有高性能。 分布式事务、读写拆分和分片的数据库代理!支持任何语言!它可以部署为 pod 中的 sidecar。
断路器真的有效吗?重试会让情况更糟糕! - brooker
现代分布式系统被设计为允许发生系统中一部分故障,即使不能取悦所有人,也会继续为一些客户提供服务。而断路器的设计是为了将部分故障变成完全故障。这属于:一种机制可能会打败另一种机制。在部署断路器之前,请确保你考虑清楚这一点:重试(大多数情况下)会使
使用Kafka重新架构电子商务系统 - Dina
示例是:向经过身份验证的用户显示产品页面,下图显示了在这种情况下如何执行请求。
Mata解决了缓存何时失效的世纪难题? - Lu
我们在 Meta/FB 的工程博客上写了一篇文章,介绍了我们如何管理缓存失效的复杂性,并使缓存在此过程中更加一致。我相信所描述的方法应该适用于大多数基于失效的缓存。缓存
两个将军问题与分布式Saga
想象一下,在一个山谷里有一座城市。在山谷的两边,有一支由将军指挥的军队。左边的山上站着爱丽丝将军和她的军队。右边的山头上,站着鲍勃将军和他的军队。爱丽丝和鲍勃想占领这座城市,但双方都没有足够大的军队来单独完成这一任务。爱丽丝和鲍勃必须同时进攻城市,才有机会占领它。 <
如何分片数据库? - stackoverflow
分片是解决网络应用发展带来的新挑战的方法之一。其他解决方案包括 DBaaS(或云中的数据库)、新的数据库架构,或者只是增加用于存储的数据库数量的老式方法。 随着智能手机的出现,应用程序将我们消耗和产生的数据量增加到了 15 年前无法想象的水平。这给数据库集群带来了很大的压力,因为它们
什么是分布式系统的利特尔定律? - nurkiewicz
利特尔定律(Little's law)是一个令人震惊的方程式,它非常简单,但它可以为你的分布式系统的能力带来惊人的洞察力。 举例:首先,假设我们去一个杂货店。想象一下,有一个店员,平均在四分钟内处理一个顾客。很明显,他可以提供服务:60分钟除以4-
缓存失效本身是一个难题 - Marc
Meta 的缓存失效方案论文涵盖了一些看起来很酷的可观察性和正确性工作
分布式数据库架构原理 - Alex Petrov
Alex Petrov 是 Apple 的一名软件工程师。他写了一本关于 Database Internals 的精彩书籍,深入探讨了分布式数据系统的工作原理。我们将总结他关于数据库管理系统 (DBMS) 背后架构的书中的一小段内容。 概括
程序员相信的关于时间方面的谎言
以下所有这些假设都是错误的一天总是有24小时。月份有 30 天或 31 天。一年有365天。二月总是28天。任何 24 小时周期将始终在同一天(或一周或一个月)开始和结束。一周总是在同一
分布式数据库的复制原理 - Quastor
如果您对后端工程感兴趣,那么设计数据密集型应用程序 (DDIA) 是必读的。数据工程世界充满了流行语和炒作,但Martin Kleppman在分解所有核心技术方面
zarusz/SlimCluster:在.NET中实现的Raft分布式共识算法
SlimCluster在.NET中实现了Raft分布式共识算法。此外,它还实现了SWIM集群成员列表(节点的加入和离开/死亡)。 成员列表需要维护哪些微服务实例(节点)构成一个集群。 Raft共识有助于在微服务实例之间传播状态,并确保有一个指定的领导实例来执行工作协调
分布式 SQL 使数据库更上一层楼 - thenewstack
在过去的三个十年中,数据库的发展一直是全球各个行业和各种规模企业技术创新的重要组成部分。在 1990 年代末到 2000 年代初,数据库遇到了性能瓶颈。难的。互联网的成功,加上应用程序开发的爆炸式增长,导致了海量数据和前所未有的数据扩展速度。当时摄取这些数据导致了主要的数据库瓶颈。延迟增加和
上页
下页