tag 分佈式鎖

標籤
貢獻9
75
11:02 AM · Nov 04 ,2025

@分佈式鎖 / 博客 RSS 訂閱

軟件求生 - 面試官一問 RedLock,我才發現自己以前真的只會用 Redis

大家好,我是小米,今年 31 歲,一個在 Java 世界裏摸爬滾打多年的程序員大哥哥。 前幾天,我在幫朋友模擬社招面試的時候,面試官突然拋出一個問題: “你瞭解 Redis 的 RedLock 嗎?它解決了什麼問題?” 朋友愣了三秒鐘,憋出一句: “呃……分佈式鎖的一種實現?” 面試官點點頭,又補了一刀:

redis , yyds乾貨盤點 , 分佈式鎖 , 加鎖 , 數據庫

收藏 評論

木子aller - 分佈式鎖的3種實現方案與一致性原理

在分佈式系統中,當多個服務實例競爭同一資源(如庫存扣減、訂單創建)時,需要分佈式鎖保證操作的原子性。與單機鎖(如Java的ReentrantLock)不同,分佈式鎖需解決跨節點、跨進程的互斥問題。本文將解析基於Redis、ZooKeeper和etcd的3種實現方案,及其背後的一致性原理。 一、分佈式鎖的核心要求 無論採用哪種方案,分佈式鎖需滿足4個核心特性:

軟件研發 , redis , 分佈式鎖 , 強一致性

收藏 評論

今夜有點兒涼 - 分佈式鎖有哪些應用場景?

分佈式鎖在分佈式系統中用於解決多個服務實例或多個應用節點之間共享資源時的併發問題。它可以確保同一時間只有一個實例對共享資源進行操作,從而避免數據衝突或不一致的問題。以下是一些常見的分佈式鎖應用場景: 1. 高併發下的資源爭搶(秒殺活動中的庫存扣減) 場景:秒殺活動通常會引發大量併發請求,多個用户可能同時嘗試購買同一件商品。在沒有適當的同步機制下,可能會發生 超賣(即系統允許超過庫存數量的購買)

redisson , 分佈式鎖 , etcd , zookeeper

收藏 評論

JerryTse - 為什麼要使用zookeeper

本文標題為《為什麼要使用zookeeper》,但是本文並不是專門介紹zookeeper原理及其使用方法的文章。如果你在網上搜索為什麼要使用zookeeper,一定能能到從zookeeper原理、適用場景到Zab算法原理等各種各樣的介紹,但是看過之後是不是還是懵懵懂懂,只是學會了一些片面的、具體的知識點,還是不能文章標題的問題。zookeeper使用一種名為Zab的共識算法實現,除了Zab算法之外還

分佈式鎖 , zookeeper , 分佈式系統 , 多進程 , 一致性

收藏 評論

vivo互聯網技術 - 分佈式鎖的實現原理

作者:來自 vivo 互聯網服務器團隊- Xu Yaoming 介紹分佈式鎖的實現原理。 一、分佈式鎖概述 分佈式鎖,顧名思義,就是在分佈式環境下使用的鎖。眾所周知,在併發編程中,我們經常需要藉助併發控制工具,如 mutex、synchronized 等,來保障線程安全。但是,這種線程安全僅作用在同一內存環境中。在實際業務中,為了保障服務的可靠性,我們通常會採用多節點進行部署。在這種分佈式情況下,

redis , 分佈式鎖 , zookeeper

收藏 評論

杜若 - 分佈式鎖實現

1、redis分佈式鎖 redis 最普通的分佈式鎖 加鎖: 第一個最普通的實現方式,就是在 redis 裏使用setnx命令創建一個 key,這樣就算加鎖。 SET resource_name my_random_value NX PX 30000 解鎖: 用下面的lua腳本保證原子性 if redis.call('get', KEYS[1]) == ARGV[1] then

redis , 分佈式鎖 ,

收藏 評論

kamier - 【Zookeeper源碼閲讀】六、分佈式鎖的實現原理

六、分佈式鎖的實現原理 實現分佈式鎖的方式有許多種,比如使用數據庫鎖、redis等等。而Zookeeper也可以用於實現分佈式鎖,下面通過源碼來介紹Zookeeper是如何來實現分佈式鎖的? 6.1 驚羣效應 假設用節點"/lock"來表示這個分佈式鎖,我們第一時間可能會想到通過判斷節點"/lock"存在與否,如果不存在則創建該節點,表示獲取到這個鎖,否則監聽該節點,等待鎖的釋放。如下圖所示

分佈式鎖 , zookeeper

收藏 評論

我叫喵手呀 - 保證一致性,還是犧牲性能?——分佈式系統到底是“高併發利器”還是“複雜性的地獄”?

(全文目錄:) 開篇語 哈嘍,各位小夥伴們,你們好呀,我是喵手。運營社區:C站/掘金/騰訊雲/阿里雲/華為雲/51CTO;歡迎大家常來逛逛   今天我要給大家分享一些自己日常學習到的一些知識點,並以文字的形式跟大家一起交流,互相學習,一個人雖可以走的更快,但一羣人可以走的更遠。   我是一名後端開發愛好者,工作日常接觸到最多的就是Java語言啦,所以我都儘量

分庫分表 , 分佈式鎖 , 後端開發 , 分佈式系統 , JAVA

收藏 評論

軟件求生 - 能進大廠的 Redis 分佈式鎖,和你現在寫的差在哪?

大家好,我是小米,今年 31 歲。寫這篇文章的時候,我正坐在公司工位上,盯着 禪道 上一個“看似簡單”的 Bug 單子發呆。這個 Bug 的標題只有一句話: “生產環境:訂單重複扣款,概率出現” 如果你是 Java 工程師,看到這句話,後背基本已經開始冒冷汗了。那一刻,我腦子裏閃過的不是 JVM,不是 GC,也不是 SQL,而是一個老朋友——

redis , 服務器 , yyds乾貨盤點 , 分佈式鎖 , 數據庫

收藏 評論

江湖十年 - 在 Go 中如何使用分佈式鎖解決併發問題?

在分佈式系統中,協調多個服務實例之間的共享資源訪問是一個經典的挑戰。傳統的單機鎖(如 sync.Mutex)無法實現跨進程工作,此時就需要用到分佈式鎖了。本文將介紹 Go 語言生態中基於 Redis 實現的分佈式鎖庫 redsync,並探討其使用方法和實現原理。 分佈式鎖 首先我們來探討下為什麼需要分佈式鎖?當我們編寫的程序出現資源競爭的時候,就需要使用互斥鎖來保證併發安全。而我們的服務很有可能不

面試 , 分佈式鎖 , 併發 , go , 後端

收藏 評論

今夜有點兒涼 - Redis分佈式鎖詳解

分佈式鎖的基本概念 分佈式鎖可以理解為"多個人搶同一個東西時,用一把鎖來保證只有一個人能拿到",但這裏的"多個人"不是單台機器上的多個線程,而是多台服務器(分佈式系統)。 例子:電商平台下單,庫存只有1件,同時有10個人在不同地方搶,這時候就需要一把"分佈式鎖",保證只有一個人能成功扣減庫存,避免超賣。 Redis分佈式鎖的實現方式 1. 最基礎的:用 setnx 命令("set if not e

redis , 分佈式鎖

收藏 評論