分散式系統中讀寫操作權衡,一致性、可用性和分區容忍度。
- 一致性(Consistency): 固定時間內節點資料都維持一致
- 可用性(Availability): 保證節點總是可用
- 分區容錯(Partition Tolerance): 允許節點失效程度
基於各屬性特質, 只能兼顧2種
- CA: 數據一致且可用, 無法兼顧網路分區
- MySQL
- 銀行, 電商
- CP: 分區時數據一致, 但在分區時某些節點可能不能用
- Redis
- 在Redis的主從複製(Master-Slave Replication)模式中,數據寫入主節點(Master),然後異步複製到從節點(Slave)
- AP: 分區可用, 但不一定一致
- Cassandra
- 在Cassandra中,當分區結束後,系統會使用Hinted Handoff和Read Repair等機制來同步數據,確保最終一致性
如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)