Ich habe zwei identische Server (A und B) über Lsyncd synchronisiert. Hauptserver A verwendet Magento 1.9.1 CE, das mit Apache, Redis und RDS konfiguriert ist, und verwendet FPC. Ich habe es mit benutzerdefinierten Admin-URL konfiguriert, die A für Admin und B für Front machen. Ich habe alle Verzeichnisse außer var und app/etc/local.xml synchronisiert, da B eine leichte Modifikation für die Redis-Konfiguration hat.Magento Admin/Front Split Server Redis Fehler
B verbindet sich mit der Redis-Instanz von A. Redis ist für Back-End-Cache und Sitzungsspeicher konfiguriert. Ich habe getestet, alle Cachetypen in der Cache-Verwaltung zu deaktivieren, und es funktionierte gut, aber als ich sie alle aktivierte, gab es Redis-Fehler in B. Ich deaktivierte 'Configuration' Cachetyp und der Fehler war weg.
Das Ding, das mysteriös ist, ist; wenn ich den Cachetyp 'Configuration' aktiviere und dann in redis 'flushall' mache; und welcher auch immer Server A oder B zuerst lädt und Back-End-Cache-Schlüssel erstellt, der andere hat diesen Fehler. Sagen wir, wenn A zuerst lädt dann hat B redis Fehler. Und wenn Flushall in Redis und B Lasten zuerst getan wird, dann hat A redis Fehler.
Ich kann nicht scheinen, herauszufinden, was falsch ist. Hier ist meine redis Konfiguration:
<session_save>db</session_save>
<cache>
<backend>Mage_Cache_Backend_Redis</backend>
<backend_options>
<server>127.0.0.1</server>
<port>6379</port>
<database>0</database>
<password>SOME_PASSWORD</password>
<force_standalone>0</force_standalone> <!-- 0 for phpredis, 1 for standalone PHP -->
<connect_retries>3</connect_retries> <!-- Reduces errors due to random connection failures -->
<automatic_cleaning_factor>0</automatic_cleaning_factor> <!-- Disabled by default -->
<compress_data>1</compress_data> <!-- 0-9 for compression level, recommended: 0 or 1 -->
<compress_tags>1</compress_tags> <!-- 0-9 for compression level, recommended: 0 or 1 -->
<compress_threshold>20480</compress_threshold> <!-- Strings below this size will not be compressed -->
<compression_lib>gzip</compression_lib> <!-- Supports gzip, lzf and snappy -->
<persistent>1</persistent> <!-- persistence value, 0: not in use, > 0 used as persistence ID -->
</backend_options>
</cache>
<redis_session> <!-- All options seen here are the defaults -->
<host>127.0.0.1</host>
<port>6379</port>
<password>SOME_PASSWORD</password> <!-- Specify if your Redis server requires authentication -->
<timeout>2.5</timeout> <!-- This is the Redis connection timeout, not the locking timeout -->
<persistent></persistent> <!-- Specify unique string to enable persistent connections. E.g.: sess-db0; bugs with phpredis and php-fpm are known: https://github.com/nicolasff/phpredis/issues/70 -->
<db>1</db> <!-- Redis database number; protection from accidental loss is improved by using a unique DB number for sessions -->
<compression_threshold>2048</compression_threshold> <!-- Set to 0 to disable compression (recommended when suhosin.session.encrypt=on); known bug with strings over 64k: https://github.com/colinmollenhour/Cm_Cache_Backend_Redis/issues/18 -->
<compression_lib>gzip</compression_lib> <!-- gzip, lzf or snappy -->
<log_level>4</log_level> <!-- 0 (emergency: system is unusable), 4 (warning; additional information, recommended), 5 (notice: normal but significant condition), 6 (info: informational messages), 7 (debug: the most information for development/testing) -->
<max_concurrency>6</max_concurrency> <!-- maximum number of processes that can wait for a lock on one session; for large production clusters, set this to at least 10% of the number of PHP processes -->
<break_after_frontend>5</break_after_frontend> <!-- seconds to wait for a session lock in the frontend; not as critical as admin -->
<break_after_adminhtml>30</break_after_adminhtml>
<bot_lifetime>7200</bot_lifetime> <!-- Bots get shorter session lifetimes. 0 to disable -->
</redis_session>
Das Problem ist mit Back-End-Cache heißt Datenbank 0 Es ist nicht zwischen den verschiedenen URLs zu teilen scheint.
Wenn jedoch in B local.xml i separate Datenbank verwenden kann 2 sagen für Back-End-Cache als es kein Problem hat. Ich möchte die gleiche Backend-Cache-Datenbank für A und B verwenden. Könnte mir jemand helfen zu verstehen, was hier passiert?
Danke!