原文:聊一聊分布式鎖的設計

起因 前段時間,看到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