0

古いmemcachedキャッシュの代わりに、couchbasememcachedバケットを使用しています。同じクラスターにcouchbaseバケットもあります。

クラスタには2つのノードがあり、私が使用した構成はかなり基本的なものです。

<couchbase>
    <CouchBaseBucket>
      <servers bucket="CouchBaseBucket" bucketPassword="password">
        <add uri="http://10.100.10.97:8091/pools"/>
        <add uri="http://10.100.10.98:8091/pools"/>
      </servers>
    </CouchBaseBucket>
    <MemcachedBucket>
      <servers bucket="MemcachedBucket" bucketPassword="password">
        <add uri="http://10.100.10.97:8091/pools"/>
        <add uri="http://10.100.10.98:8091/pools"/>
      </servers>
    </MemcachedBucket>    
  </couchbase>

(マルチバケット構成は、.NET app.configのCouchbase複数バケットのSO投稿に従って行われました)

問題は、挿入したばかりのエントリのキャッシュヒットが常に発生するとは限らないことです(ただし、時々発生します)。バケット全体には、使用可能な2つのGBのうち4〜5個のアイテムがあり、キーと値のペアは20文字のキーとGuid値で構成されているため、削除は問題になりません。

1つのホストだけを使用してテスト設定でこれを試したとき、この問題は発生しなかったので、NodeLocatorに関係しているのではないかと疑っていますが、他に何かを定義していないため、デフォルトのKetamaNodeLocatorである必要があります。構成。

私が使用しているクライアントはCouchbase.NETクライアントライブラリ、アセンブリバージョン1.1.6.0で、サーバーはcouchbaseserver1.8.1です。

何が間違っているのでしょうか?

4

1 に答える 1

0

解決済み、複数のホストとは関係ありません。よくほとんど。

問題は、ホストの時計の 1 つが 2 時間ずれていたことです。#ああ、神様

ただし、これはCouchbaseの問題だと思います.Couchbaseは、関係するすべてのサーバー(サーバーを実行しているサーバーとクライアントを実行しているサーバー)のクロックを同期する必要があると想定/要求しているためです.

とにかく、多分これは何時間もの調査の貧しい魂を節約するでしょう

于 2012-11-19T15:37:49.960 に答える