2016-07-15 65 views
1

如果流星的MongoDB沒有在x秒內給出響應,Meteor是否有超時設置和重試?想知道是否有人試過這個。流星的遠程數據庫連接超時並重新連接

我有興趣在遠離Meteor生產應用程序的位置運行MongoDB數據庫。 Meteor-to-Mongo連接速度很快,僅需3-9毫秒,但我也想了解Meteor(和NodeJS)如何應對短暫的網絡中斷。應用會在等待很長時間的情況下掛起嗎?我如何強制1秒超時/重試以避免掛起?

回答

1

您可以在蒙戈URL指定超時:

MONGO_URL=mongodb://host:port/db?connectTimeoutMS=60000&socketTimeoutMS=60000 

但是讓我們假設你有一個網絡中斷,什麼是一個短暫的停頓給你? 你的應用程序將掛起反正...

要獲得高可用性,請查看副本集。

https://docs.mongodb.com/manual/tutorial/deploy-replica-set/

+0

好點。我會研究副本集...假設我可以指定不同的讀取和寫入mongo服務器?我相信mongo只允許在副本集中的單個主mongo實例上寫入。 –

+1

mongodb:// host1,host2,host3:27017/dev?replicaSet = rs0&readPreference = primaryPreferred&w = majority&connectTimeoutMS = 60000&socketTimeoutMS = 60000 – MrE

+0

ps:如果流星一開始沒有找到主控,進程管理器將重新啓動並最終連接。 – MrE