原文:聊一聊分布式锁的设计

起因 前段时间,看到redis作者发布的一篇文章 Is Redlock safe ,Redlock是redis作者基于redis设计的分布式锁的算法。文章起因是有一位分布式的专家写了一篇文章 How to do distributed locking ,质疑Redlock的正确性。redis作者则在 Is Redlock safe 文章中给予回应,一来一回甚是精彩。文本就为读者一一解析两位专家的争 ...

2017-08-11 10:21 11 1660 推荐指数:

查看详情

让我们分布式事务

一个复杂的系统往往都是从一个小而简的系统发展衍化而来,为了满足日益增长的业务需求,不断的增加系统的复杂度,从单体架构逐步发展为分布式架构,而分布式系统架构的设计主要关注:高性能,高可用,高拓展 分布式事务 高可用是指系统无中断的执行功能的能了,代表了系统的可用程度,是进行系统设计时必须要 ...

Tue Dec 17 04:34:00 CST 2019 0 726
我心中的分布式日志处理框架

其实这边文章说是“分布式日志框架”有标题党的嫌疑。把大家骗过来其实是想让大家指导一些意见,交流一下经验。 最近看了一本关于架构方面的书,其中书里面有一句话让我影响很深刻:在没有弄清楚需求前就去做架构的人失败永远多于成功。 仔细想了想,其实蛮有道理的。 就我个人而言,当我决定做一个框架 ...

Tue Sep 13 08:42:00 CST 2016 0 1488
如何用C#轻松完成一个SAGA分布式事务

背景 银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的 ACID ,只能够通过分布式事务来解决。 市面上使用比较多的分布式事务框架,支持 SAGA 的,大部分都是 JAVA 为主的,没有提供 C# 的对接 ...

Mon Jan 24 16:03:00 CST 2022 7 2675
如何用C#轻松完成一个TCC分布式事务

背景 银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的 ACID ,只能够通过分布式事务来解决。 在 如何用C#轻松完成一个SAGA分布式事务 中介绍了借助 DTM 用 SAGA 事务模式解决了上面 ...

Tue Feb 08 16:13:00 CST 2022 15 2980
【58沈剑架构系列】细分布式ID生成方法

一、需求缘起 几乎所有的业务系统,都有生成一个记录标识的需求,例如: (1)消息标识:message-id (2)订单标识:order-id (3)帖子标识:tiezi-id 这个记录标识往 ...

Sun Feb 19 19:12:00 CST 2017 0 1525
如何设计高性能的分布式

什么是分布式? 在 JVM 中,在多线程并发的情况下,我们可以使用同步或 Lock ,保证在同一时间内,只能有一个线程修改共享变量或执行代码块。但现在我们的服务都是基于分布式集群来实现部署的,对于一些共享资源,在分布式环境下使用 Java 的方式就失去作用了。 使用数据库实现一个分布式 ...

Fri Jul 03 03:16:00 CST 2020 0 529
基于Redis的分布式设计

前言 基于Redis的分布式实现,原理很简单嘛:检测一下Key是否存在,不存在则Set Key,加锁成功,存在则加锁失败。对吗?这么简单吗? 如果你真这么想,那么你真的需要好好听我讲一下了。接下来,咱们找个例子研究一下。 在开始之前,咱们先定些规则: 关于示例代码 ...

Thu Jul 08 17:06:00 CST 2021 37 2906
数据库中的

背景 数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚上,我可愁死了,这么多小姐姐,我 ...

Mon Aug 19 16:14:00 CST 2019 73 17047
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM