Redis的replication在從站連接到主站時開始。但在初始複製結束後,奴隸如何不斷與主人保持同步?我找不到描述這種機制的文檔的任何部分。特別是,我如何衡量主從之間的滯後?在複製結束後,Redis從服務器如何保持同步?
1
A
回答
2
初始複製後,主站將更改寫入內部緩衝區,並將它們發送到從站。來自replication頁面:
然後主站將向從站發送所有緩衝的命令。這是作爲命令流完成的 ,並且與Redis 協議本身的格式相同。
您可以在GitHub上查看full replication source code(這指向Redis版本3.0)以瞭解基本細節。
就延遲而言,有一個page dedicated to latency troubleshooting和one dedicated to latency monitoring。這兩頁包含大量的背景信息和技術來排除/測量Redis延遲。一個簡單的起點是從從站到主站和/或主從站運行redis-cli --latency -h 'host' -p 'port'
。
1
我相信你可以通過在從機上發行INFO replication
找到,並檢查slave_repl_offset
的值。
相關問題
- 1. 如何保持運行redis服務器
- 2. MySQL複製如何保持同步?
- 3. zookeeper vs redis服務器同步
- 4. 如何讓GCM與應用和服務器保持同步?
- 5. 即使在服務器停止後,redis如何保持緩存數據
- 6. 保持Subrepos在中央服務器上同步
- 7. 如何將Redis主服務器同步到另一個獨立的Redis實例?
- 8. 保持Redis實例的副本保持同步?
- 9. 如何保持不同步
- 10. 保持遠程服務器與Git倉庫同步
- 11. 保持OpenLDAP和活動目錄同步(Windows服務器08R2)
- 12. GWT保持同步客戶端和服務器型號
- 13. 保持Android客戶端與服務器同步
- 14. Ruby面向服務的體系結構 - 如何確保同步?
- 15. 如何從後臺服務獲取結果,但仍然保持運行在android
- 16. 如何與服務器同步以使中繼商店保持最新狀態?
- 17. 如何讓多個讀/寫數據庫服務器保持同步?
- 18. 如何讓Subversion和遠程服務器(通過FTP)保持同步?
- 19. Angular:如何保持$ scope屬性與控制器函數同步?
- 20. 如何讓MPMoviePlayerController在電影結束後保持打開狀態?
- 21. 保持表在同一臺服務器上的數據庫之間同步
- 22. 從服務器端結束WCF會話?
- 23. 如何確保MySQL複製SLAVE與複製MASTER完全同步?
- 24. 同步架構服務器到服務器同步
- 25. 強制停止後如何保持服務運行?
- 26. 如何同步與服務器時間
- 27. Redis是否在複製中將其寫入主服務器?
- 28. 如何將服務器保存的數據同步到couchbaselite中
- 29. 使控制器方法異步或保持同步?
- 30. 如何保持後臺服務始終在後臺
這是不正確的。 slave_repl_offset不是主機的偏移量,而是從機的距離。計算滯後的唯一方法是從master_repl_offset中減去master_repl_offset(不是從機) 可以在這裏找到一個解釋:https://github.com/antirez/redis/issues/2375 – psamaan 2016-01-30 00:48:26