Kürzlich war unsere PHP-Web-App für einige Minuten nicht verfügbar, da einer unserer Memcached-Knoten gestorben ist (wir verwenden Memcachier als Memcached-Anbieter).
Das war unsere user.ini
-Konfiguration (Heroku verwendet user.ini
als einen Ort, an dem Sie Ihre Konfiguration definieren), der funktionierte, aber offenbar kein Failover unterstützte:
Unsere neue user.ini
-Konfiguration, die eine Failover-Funktion bereitstellen soll
Die MEMCACHIER_SERVERS
env var sieht so aus: 123.45678.us-east-1.heroku.prod.memcachier.com:11211,123.45678.us-east-1.heroku.prod.memcachier.com:11211
. Ich denke, das bedeutet, wir haben 2 Knoten.
Das Problem, das wir mit der neuen Konfiguration bekommen, sind Timeouts und viele Fehler in Bezug auf PHP-Sitzungsfunktionen ( session_start()
, session_write_close()
).
Warum passiert das?
Denken Sie daran, wir verwenden Memcached überhaupt nicht in unserem PHP-Code, sondern nur als Session-Speicher-Engine.
Ich habe versucht, den Support von Memcachier zu kontaktieren, aber der Kundenvertreter konnte nur empfohlenen PHP-Code bereitstellen (den wir nicht benötigen).
Da die Bounty abgelaufen ist und die Frage bald geschlossen wird, werde ich mit dem Vorschlag von @ jdotjdot fortfahren und von Memcachier zu MemcachedCloud addon wechseln.
Tags und Links php session memcached heroku memcachier