MongoDB Read Preference

Posted by Max Lin on 2023-11-21

MongoDB 提供了不同的 Read Preference(讀取偏好)的模式,用來決定 Replica Set 架構下 讀的操作

有以下幾種模式:

primary

一切讀的操作都是由 Primary 節點進行

primaryPreferred

正常狀況下讀的操作都是由 Primary 進行, 當 Primary 故障則是替換由 Secondary 節點進行

secondary

一切讀的操作都是由 Secondary 節點進行

secondaryPreferred

正常狀況下讀的操作都是由 Secondary 進行, 當 Secondary 故障則是替換由 Primary 節點進行

nearest

從延遲最小的節點進行讀的操作, 不管該節點是 Primary 或 Secondary。


用哪一種取決於不同場景和需求,像是:金錢交易賠率推送 等對資料的即時性和一致性有較高要求的情況用 primary 模式、需要 快速呈現 數據的場景則用 nearest,而讀寫分離通常使用 Secondary or SecondaryPreferred 用來減輕 Primary 的負擔

參考

MongoDB 事务 —— 基础入门篇