亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 31577 | 回復: 0
打印 上一主題 下一主題

[其他DFS] FastCFS binlog機制簡介 [復制鏈接]

論壇徽章:
4
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT運維版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-08-15 06:20:00
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2021-02-08 12:18 |只看該作者 |倒序瀏覽
本帖最后由 happy_fish100 于 2021-02-08 12:20 編輯

​    FastCFS采用經典的Master/Slave結構及數據同步復制的做法。如果slave在線,master同步調用slave;否則slave將進入數據恢復階段,追上master的最新進度后,slave切換為在線狀態(tài),此后master將數據同步復制到slave。

    FastCFS采用binlog記錄數據更改操作,binlog中不會記錄變更(如寫入)的文件內容,binlog相當于是數據索引,非常簡潔。FastCFS中binlog的兩大用途:一、實現數據索引持久化存儲,程序啟動時通過重放binlog加載數據索引;二、slave數據恢復時從master拉取缺失的binlog,然后基于該binlog進行數據恢復。大家直觀感受一下如下所示的binlog片段:

    第一列為更改時間(unix時間戳),第二列為數據版本號。多個數據副本的分布式系統(tǒng)要保證數據強一致性,就必須保證更改操作的順序。采用單調遞增的數據版本號,是嚴格保證更改順序的有效方法,這正是上一篇文章最后留下的懸念解答。

    FastCFS支持master失效時自動切換(failover),極端情況下發(fā)生master切換后,可能會導致原master和新master上的binlog部分數據不一致,而不一致的binlog數據只會在binlog文件的尾部,我們只需對最后N條(如3條)binlog進行校驗即可。如果slave最后N條binlog和master對賬失敗,slave會退出運行,需要人工修復binlog(通常只需刪除最后一條binlog)后該slave方可正常啟動。

    FastStore模塊有兩套binlog:用于slave數據恢復的replica binlog和用作數據索引的slice binlog。對于一次更新操作,先寫slice binlog,然后寫replica binlog。一次更新操作對應兩次binlog寫入,如何保證兩次寫入的事務性呢?FastCFS不允許寫binlog失敗,只有程序異常終止時(比如掉電、程序掛掉),二者才有可能不一致。因此寫入binlog時不做校驗,程序啟動時對兩個binlog進行對賬,去掉尾部多余的binlog記錄即可。

    FastCFS中master同步調用slave完成后才寫binlog,為什么不選擇在調用slave前寫binlog呢?master寫入binlog的時機是有講究的,這個問題就留給大家了。

    最后總結一下,FastCFS中binlog是保證數據一致性的重要機制,binlog自身做到一致性非常關鍵,FastCFS采用的是binlog對賬機制。

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協(xié)會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP