小弟第一次建置這類型的環境,目前手邊有5台機器,已經建立成1個Primary 3個Secondary 1個Arbiter,這又包成一個shard(分片),裡面的port我是給27019,剩下的建置就是有mongs port 27017跟config server port 27018。
那問題來了,我透過mongo composs連線去看的時候在機器都還健康的情況下讀寫都沒什麼問題,我後來關閉了兩台機器其中包含primary跟secondary,這樣的話裡頭會剩2個secondary跟1個Arbiter,那選票機制一定會選一台primary出來,然後我再透過mongo composs去連線,在讀取資料的時候看不出來有什麼問題,但在新增資料的時候我發現會卡住,這種情況不曉得有沒有人遇過,或者是我在建立這個環境的時候有哪個問題出錯了?
corki 选择最佳答案
你是5.0吧。5.0副本集PSA默认是writeConcern是1,但是sharding下是读取config,config是不支持psa,默认wirteConcern:majority.
参考我之前写的。
https://mp.weixin.qq.com/s/97VxEB4AvLvQpCOkTD61ig
corki 发表新评论
xiaoxu,感謝您的回覆,會走shard架構是因為我們有兩個網段192跟10,192提供給user做連線使用10則是做Replica Set將資料都透過10網段做儲存,
那您這邊有沒有好的建議??有沒有可能一樣是mogos(192)不透過config server直接把資料丟給Replica Set(10)去執行??
xiaoxu,感謝您的回覆,那依照目前的狀況,按照您寫的方式也是做一個臨時的即時處裡方式,當系統復原時還是需要調整回來,那這邊您對於架構上有什麼好的建議嗎??
主要是我們有兩個IP一個走192一個走10那192是提供給user做連線使用所以我才走shard的方式去走user使用mongos(192網段),那透過config server才能把資料存到Replica Set(10網段)嗎??