5

春には次のコア mongo オプション構成があります。

<mongo:mongo host="${db.hostname}" >
  <mongo:options
    connections-per-host="40"
    threads-allowed-to-block-for-connection-multiplier="1500"
    connect-timeout="15000"
    auto-connect-retry="true"
    socket-timeout="60000"
    write-number="1"
    write-fsync="false"/>
</mongo:mongo>

私が知りたいのは、none、normal、safe などの書き込み懸念に関連するさまざまな write-number オプションについてです。

以下のように write-number から writeconcern へのマッピングを仮定できますか?

NONE: -1
NORMAL: 0
SAFE: 1 (default)
FSYNC_SAFE: 2
REPLICAS_SAFE: 3
JOURNAL_SAFE: 4
MAJORITY: 5  

次のリンクは、春に mongo オプションを設定するのに役立ちますが、write-number 値については十分に具体的ではありません: How to configure MongoDB Java driver MongoOptions for production use?

4

2 に答える 2

3

書き込み懸念番号は「w」の値であり、w> 1の場合に成功したと見なされる前に、書き込みが伝播する必要のあるレプリカの数にマップされます。

FSYNC_SAFEはwrite-fsync(trueまたはfalse)の設定にマップされ、JOURNAL_SAFEもブール値であるため、Springにも同様のブール設定があると思われますが、どのドキュメントにも見つかりませんでした。

これを経験的にテストするためにすべてをインストールしている場合は、いくつかの構成を試して、結果として生じる書き込みの懸念の実際の設定を次のように確認してください。

       WriteConcern wc = new WriteConcern(); // should get your default write concern
       System.out.println(wc.getJ());
       System.out.println(wc.getFsync());
       System.out.println(wc.getW());

これにより、ジャーナル設定、Fsync設定(両方ともブール値)、W(intとして)が表示されます。

于 2012-06-17T07:32:28.743 に答える