Frage

Die meisten Lösungen, die ich gelesen habe hier unterstützt Sub-Domain-per-Benutzer auf der DNS-Ebene sind alles auf einen IP-zu-Punkt mit * .domain.com.

Es ist eine einfache und einfache Lösung, aber was ist, wenn ich zum ersten Mal auf Punkt wollen 1000 registrierte Benutzer zu serverA, und am nächsten 1000 registrierte Benutzer SERVERB? Dies ist die bevorzugte Lösung für uns in Software und Hardware für Clustering unserer Kosten niedrig zu halten.

alt text http://learn.iis.net/file.axd?i = 1.101 (Diagramm von MS IIS-Website zitiert)

Die logischste Lösung scheint 1 x A-Datensatz pro Sub-Domain in der Zone Datendateien zu haben. BIND scheint nicht auf der Zone Datafiles jede Größenbegrenzung zu haben, nur in dem Speicher beschränkt.

Doch mein Team ist besorgt über die Latenz und bereit, die neue subdoamin zu bekommen, da eine neue Sub-Domain des Einsetzens eines neuen A-Datensatz bestehen Erstellen & Neustart DNS-Server.

Ist Leistung DNS-Server etwas neu zu starten wir kümmern sollte?

Vielen Dank im Voraus.

UPDATE:

Es scheint, wie die meisten von euch mir empfehlen stattdessen einen Reverse-Proxy-Setup zu verwenden:

alt text http://learn.iis.net/file.axd?i = 1.102

(ARR ist IIS7 die Reverse-Proxy-Lösung)

Allerdings sind hier die CONS ich sehen kann:

  1. Single Point of Failure
  2. kann nicht strategisch Setup-Servern an verschiedenen Standorten auf Basis von IP-Geolocation.
War es hilfreich?

Lösung

Das Front-End-Proxy mit einem Wild-Card-DNS-Eintrag ist wirklich die Art und Weise mit diesem zu gehen. Es ist, wie große Websites wie Livejournal Arbeit.

Beachten Sie, dass dies nicht nur eine TCP-Schicht Loadbalancer - es gibt viele Lösungen, die den Host-Teil der URL, die Back-End-Server weiterleiten kann die Abfrage untersuchen würden auch herauszufinden. Sie können es leicht mit Apache mit geeignete Konfiguration .

Der Proxy stellt sicher, dass jeder Sitzung des Benutzers geht immer an den richtigen Back-End-Server und die meisten jede Session Handling Methoden werden nur weiter arbeiten.

Auch muss der Proxy kein Single Point of Failure sein. Es ist durchaus möglich und recht einfach zwei oder mehr Front-End-Proxies in einer redundanten Konfiguration zu laufen (Fehler zu vermeiden) oder sogar teilen sich die Last zu haben (Stress zu vermeiden).

Ich würde auch John Sheehan Vorschlag zweiten, dass die Anwendung auf dem linken Teil der URL anschauen, um zu bestimmen, welche Inhalte des Benutzers angezeigt werden soll.

Apache für das Back-End Bei Verwendung finden Sie unter auch für Informationen darüber, wie es zu konfigurieren.

Andere Tipps

Mit dem Wildcard-DNS-Eintrag, dann verwenden Load Balancing die Last zwischen Servern zu verteilen, unabhängig davon, welche Client sie sind.

Während Sie gerade dabei sind, lassen Sie die URL Schritt Umschreiben und haben Ihre Anwendung bestimmen, welche Account auf der URL basiert wie eingegeben (Sie können genauso einfach bestimmen, welche X in X.domain.com ist wie in der Domäne. com? user = X).

EDIT: Basierend auf Ihren zusätzliche Informationen, können Sie einen „Vermittler“ zu entwickeln, dass Geschäfte, die Kunden sind, auf den Server zugreifen. Machen Sie, dass die öffentliche gegenüber dann von den Ressourcen mit dem Client gespeichert mit dem Makler zugeordnet ziehen. Front-End kann ausgeglichen sein Last, dann können Sie aus der Datei / db-Server greifen basierend auf, wer sie sind.

Wenn Sie tinydns verwenden, Sie brauchen nicht auf den Name-Server neu zu starten, wenn Sie die Datenbank ändern und es soll nicht ein Engpass, weil es in der Regel sehr schnell. Ich weiß nicht, ob es gut mit 10000 + Einträgen führt aber (es würde mich überraschen, wenn nicht).

http://cr.yp.to/djbdns.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top