2016-04-14 8 views
0

Ich bin currenty Upscaling von 1xEC2 Server:
1xLoad Balancer
2xEC2 ServerAWS Load Balancer - Entfernen Cache-Elemente auf EC2

Ich habe viele Kunden, ruhig, jeder unseren Dienst auf ihrer eigenen Domain .
Wir haben eine Webfront und Admin-Schnittstelle und verwenden viel Caching. Wenn etwas auf dem Admin-Teil geändert wird, ruft der Server zB: customer.net/cacheutil.ashx?f=delete & obj = Objektname auf, um das Objekt auf crossdomains zu entfernen.

Daher die neue Einrichtung, ich weiß nicht, wie dies mit mehreren Servern zu tun, um sicherzustellen, dass die zwischengespeicherten Objekte auf beiden Servern gelöscht wird (oder mehr, wenn wir mehr starten).
Ich denke, dass es ein "bisschen viel" ist, dass unsere Kunden zB hinzufügen müssen. "web1.customer.net", "web2.customer.net" und "customer.net" verweisen auf 3 verschiedene DNS-CNAMEs, da sie nicht von der IT erfahren werden.

Wie macht das jemand anderes?

+0

es hängt von Ihrer Architektur. Wenn es schwer gelesen wird und der "admin" nur eine relativ kleine Anzahl von Anfragen hat, dann stelle einen Weg her, dass alle Anfragen für "admin" zu node1 gehen, dann ändere den Programmcode auf node1, so dass er die Anfrage an node2 dupliziert. Es gibt möglicherweise ein Problem mit Knoten, die mit diesem einfachen Ansatz nicht synchron sind. Wenn Lese- und Schreibvorgänge gleich sind, müssen Sie wahrscheinlich Ihre gesamte App neu strukturieren, um einen skalierbaren, gemeinsam nutzbaren Backing Store zu verwenden. – Vorsprung

+1

Verschieben Sie den Cache von Ihren Webservern in ElastiCache –

Antwort

2

Bei horizontaler Skalierung wird empfohlen, Ihre Webserver statusfrei zu halten. Speichern Sie also keine Daten auf einem bestimmten Server. Speichern Sie die Informationen stattdessen in einer Datenbank oder einem Cache, auf die alle Server zugreifen können. (z. B. DynamoDB, ElastiCache)

Alternativ können Sie auch die Funktion Sticky Sessions des Elastic Load Balancing-Dienstes verwenden, die einen Cookie verwendet, um die Verbindung eines Benutzers immer zum selben Server zurückzuleiten.

Siehe Dokumentation: Configure Sticky Sessions for Your Load Balancer