本篇為 Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems [1] 的讀書筆記。
Replication 指的是在分散式系統中將一份資料複製並存放在多個節點上,以帶來幾個可能的好處:
- 將資料複製到距離使用者較近的節點,以減少 latency
- 提高 availability
- 增加讀取的 throughput
一般討論分散式系統的 replication 時,關注的困難點都是如何處理資料的變化。因為若資料不會變化,那只要整個複製貼上就完工了,沒什麼困難點。但若資料會變化,那麼就會需要考慮多個節點間要如何控管資料的變化了。