redis分布式鎖實現(xiàn)方案
單點問題
Redission redLock
set nx原語
要加超時時間鼠证,避免客戶端down掉峡竣,導致的死鎖問題。
超時時間使用經(jīng)驗值量九,業(yè)務操作時間要<超時時間
value設置為唯一訂單號或者能表示客戶端線程的唯一標號适掰。
防止線程間隨便解鎖
還可以防止超時時間后釋放鎖導致的不同步問題。
即再訪問公共資源的時候荠列,再次檢查value是否跟自己的客戶端一致类浪。
不一致則不在繼續(xù)執(zhí)行之后的業(yè)務邏輯。
釋放鎖肌似,先去查看是否存在费就。然后刪除key
是兩個原子操作。
方案:
使用redis提供的事物方式
redis的原語eval川队,執(zhí)行l(wèi)ua腳本力细,能保證腳本的操作是原子操作
分布式鎖的還有別的方案
數(shù)據(jù)庫樂觀鎖
基于zookeeper實現(xiàn)
https://gitchat.csdn.net/activity/5b3d91c56edf9d4ff8ee21c4?seriesId=5b95d48c780fdb5e97d3848d
http header哪些 對應的含義
https://kb.cnblogs.com/page/92320/
用戶在瀏覽器輸入url發(fā)生了什么
關鍵字
host文件
先檢查是否host有配置睬澡,有配置使用配置的ip端口進行連接
dns解析
瀏覽器緩存
本地dns服務器緩存
解析是從右往左,先.com域服務器查詢
再baidu.com域名服務器查詢
查詢到具體的IP端口后眠蚂,緩存本地煞聪,并且有過期時間,方便下次直接查詢
tcp 三次握手 四次揮手
http請求 header里參數(shù)對應的含義
參考上邊逝慧,里邊有重定向了米绕,user-agent,是否長鏈接馋艺,是否使用設置cookie
瀏覽器cookie
html css js文件加載
返回的html數(shù)據(jù)栅干,解析dom樹,加載js文件
cdn緩存
靜態(tài)文件放到cdn捐祠,方便下次快速返回
服務器處理數(shù)據(jù)的一些設計
具體服務端可能會訪問數(shù)據(jù)庫碱鳞,分布式緩存之類的