0

6 ノードの mongo クラスターに書き込んでいます。すべてのノードへの書き込みを強制するために、X=6 およびタイムアウト=2000 で書き込み懸念を使用しています。私の質問: mongo が 2000 ミリ秒以内に 6 つのノードすべてに書き込めない場合はどうなりますか。mongo は「操作が失敗しました」または「操作が部分的に成功しました」と戻ってきますか。

4

1 に答える 1

2

w=6 という意味で、Write Concernに関するドキュメントを既に読んでいると思います。getLastErrorのドキュメントでは、からの可能な応答について説明していgetLastError()ます。

タイムアウト ケースの応答は、MongoDB コードベースのこのテスト ケースのようなものになるはずです。

あなたの場合、6 つのノードで w=6 は、1 つのノードを失うと書き込みがすべてエラーを返すことを意味します。レプリカ セットで 6 つのノードを使用する特定の理由はありますか? レプリカ セットが 1 つしかない場合、5 つのノードで同じレベルの可用性が得られます。つまり、5 つのうち 3 つ (または 6 つ) を失うことは問題ありません。

于 2013-09-17T19:12:50.443 に答える