Sind Änderungen auf Codeebene erforderlich, um in eine Lastenausgleichsumgebung zu gelangen?

8

Mein Kunde möchte in eine ColdFusion-Umgebung mit Lastenausgleich wechseln, um die Verfügbarkeit und Skalierbarkeit der Site zu verbessern. Ich weiß, wie man Cluster und Instanzen in ColdFusion Admin einrichtet. Wir sollten J2EE Session mgmt auch für Sticky Sessions verwenden.

Ich bin mir jedoch nicht sicher, ob andere Code-Level-Änderungen erforderlich sind, während ich von einem einzelnen Server in eine Lastenausgleichsumgebung übergehe.

Wer irgendwelche Erfahrungen haben, bitte vorschlagen? Oder irgendwelche hilfreiche Links.

    
user3427540 30.05.2014, 19:20
quelle

1 Antwort

1

Überspringen Sie die Probleme mit der Sitzung, die Ihnen Spaß machen. Ich konzentriere mich auf weniger verbreitete Code-Level-Strategien.

Sie werden über 2 isolierte Anwendungsbereiche verfügen. Dies schafft Herausforderungen in Synchronität. Untersuchen Sie den App-Code auf Schreibvorgänge in den Anwendungsumfang. Wenn für eine Bedingung ein App-Gültigkeitsbereichswert aktualisiert werden muss, muss dieser Wert in allen gleichgeordneten Anwendungsbereichen berücksichtigt werden.

Wissen, dass jede Instanz ihre eigene onApplicationStart () & amp; onApplicationEnd () -Ereignisse. Je nachdem, was im Code passiert, kann dies zu Unheil führen.

Beachten Sie Dinge wie FuseBox (Framework) beim Lastenausgleich. FuseBox erzeugt Dateien lokal, die nicht auf anderen Server-Instanzen repliziert werden.

Verwenden Sie bei Protokollierung, E-Mail-Fehlern usw. eine Instanzkennung, damit Sie wissen, mit welchem ​​Server Sie arbeiten.

Sollte Ihre App die ursprüngliche IP-Adresse einer Anfrage benötigen, müssen Sie möglicherweise X-Forwarded-For-HTTP-Header in Ihrem Load Balancer aktivieren. Andernfalls könnten Sie die IP des Lastenausgleichs bei jeder Anforderung abrufen.

Überprüfen Sie auf JEDER Instanz identisch:

  • Sicherheitsimplementierungen
  • ColdFusion & amp; Java-Versionen
  • Datenquellen
  • Zuordnungen
  • Virtuelle Verzeichnisse
  • Gemeinsame Ressourcen-Standorte ..
  • CF Admin-Einstellungen: Site-weite Fehlerbehandlung, etc.
  • CF-Kontoberechtigungen, wichtig!

Erwägen Sie die Verwendung des ColdFusion Server-Managers zur Unterstützung der Konsistenz. ;)

    
Ray V 22.08.2014 18:00
quelle