我知道,如果我使用一列服務器地址(使用this function)與ReadPreference.SECONDARY
創建一個到Java的MongoDB連接到副本集,客戶端將在副本集之間平衡讀取,優先選擇節點具有較短的往返時間(例如相同的colo)。Java MongoDB客戶端和MongoS Sharding
但是,當我爲ReadPreference.SECONDARY
的Mongo服務器創建一個MongoDB客戶端時,即使訪問是交叉colo並且MongoS存在於同一個colo中,所有讀取/寫入也會轉到列表中的第一個服務器。例如,如果我有三個MongoS服務器 - SF1,SF2和NYC1(按該順序) - 我的客戶端只與SF1交談,不管他們是在SF還是NYC。
有什麼我不得不配置或不同的方式來設置與MongoS服務器交談時的客戶端?我錯過了什麼?
是不是'ReadPreference.nearest()'選項擊中最近的節點? – 2013-05-09 13:16:33