2011-10-17 12 views
2

セッションの複製作業中です。私はmemcached + repcachedをダウンロードしてインストールしました。 現在、私は2つのサーバ間でデータを複製している間に問題はありません。telnet(telnet 127.0.0.1 11211)Repcached(フェールオーバーが機能していないようです)

しかし、php環境ではいずれかのマシンがダウンすると問題が発生します。

私はmemcache.allow_failover = 1をmemcache.iniに設定しています。

私はphp.iniを変更しないことに決めました。私は、save_pathとsaveハンドラを設定するためにini_set関数を使用しています。また、各サーバーにmemcached(repcache patched)のインスタンスがあります。私はserver1をダウンすると、私はPHPの警告(Apacheのエラーログ)を取得し、ブラウザがそれを待っているmemcachedサーバーをバックアップすると、この時点では、他のサーバーにmemcacheストレージを再ルーティングしていないようだ。すべてのセッションデータが実際にレプリケートされています。 (マスタースレーブの問題はありますか?)

PHP警告:不明:セッションデータ(memcached)の書き込みに失敗しました。 session.save_pathは、現在の設定があることを確認してください正しい(127.0.0.1:11211,191.168.100.4:11211)1

​​

は/ usr/local/binに

サーバー、ライン0に不明で/誰-p 11211 -m 64 -x 192.168.100.4 -vv

サーバ2

$cache_servers = array(
     "127.0.0.1:11211", 
     "192.168.100.4:11211", 
    ); 
    ini_set('session.save_handler', 'memcached'); 
    ini_set('session.save_path', implode(',', $cache_servers)); 

は/ usr/local/binに/ memcachedの-u誰も-p 11211 -m 64 -x -u memcachedの192.168.100.3 -vv

私はコンセプトが間違っているか何かあれ、助けてください。前もって感謝します。

答えて

2

memcached拡張機能を使用していますが、memcacheオプションを変更しているようです。それらは違う!

バージョン2までのmemcacheD拡張は、フェイルオーバーをサポートしていません。 memcache拡張機能を使用するか、memcacheDをバージョン2.0にアップグレードします(まだベータ版です)。

関連する問題