Buch / Ressource über Load Balancing Einrichten und Failover für Servlet basierte Java-Web-Anwendung [geschlossen]

StackOverflow https://stackoverflow.com/questions/276623

Frage

Wir schaffen ein Web-System mit Java und Servlet-Technologie (eigentlich Wicket für die Präsentationsschicht) und wir müssen unser System zur Verfügung steht fast immer als unsere Kunden ganz davon abhängig sein werden.

Das hat führen uns für ein gutes Buch suchen über das Thema oder eine andere Ressource konzentrieren, die erklären, wie ein redundanten einzurichten und sichere Architektur für unser System nicht.

Eine nicht erschöpfende Liste von Fragen, die wir im Moment haben:

  • Wie haben Sie einen Domain-Namen (wie http://www.google.com ), die tatsächlich durch mehrere Server mit Load Balancing diente dazu, die Nutzer zu verteilen? Ist da nicht immer ein Punkt, der schwächer in einer solchen Lösung ist (die beiden [wie es darf nicht mehr] DNS-Server für google.com in ihrem Fall)?
  • Es scheint wie eine gute Idee, mehrere Datenbank-Server für Redundanz und Lastverteilung haben. Wie ist das einrichten?
  • Wenn Sie eines unserer Web-Server ausfällt möchten wir eine Art haben, Failover und können Benutzer eine, die immer noch ist. Unter anderem haben die Sitzungen in irgendeiner Weise synchronisiert werden. Wie ist das einrichten?
  • Haben wir eine Art von synchronisierten Transaktionen müssen auch?
  • Ist Amazon Computer-Wolke eine gute Option für uns? Wie setzen wir es da oben? Gibt es Alternativen, die kostengünstig sind?
  • Haben wir in einem Java EE-Container wie JBoss oder Glassfish laufen müssen?
War es hilfreich?

Lösung

In Bezug auf Glassfish, zentrale Verwaltung über den Admin-GUI ist eine große Hilfe für Umgebungen mit mehr als einem appserver Instanz zu verwalten. „Immer verfügbar“ ist überlastet. Es kann die Serviceverfügbarkeit ohne Session-Retention bei einem Fehler sein, oder es kann die Datenverfügbarkeit mit Sitzungsinformationen bedeutet gesichert. Natürlich kann Glassfish beides tun. Ein paar Ressourcen, die von Hilfe in Bezug auf Glassfish und hohe Verfügbarkeit sein kann:

Leitfaden zu Glassfish Hohe Verfügbarkeit: http://www.sun.com/offers/details/glassfish_HAref_config.html

Einrichten eines Cluster Glassfish in 10 Minuten bis: http://blogs.oracle.com/jclingan/entry/glassfish_clustering_in_under_10

John Clingan, Glassfish Group Product Manager

Andere Tipps

Das Liferay Wiki hat einen Handbuch für hohe Verfügbarkeit Eintrag umreißt eine Architektur, die als Ausgangspunkt dienen könnte.

Dies ist wahrscheinlich ein vereinfachenden Ansatz, aber ich habe eine ähnliche Art von Lastverteilung und Hochverfügbarkeitslösung vor kurzem implementiert.
Meine Anwendung hatte Tomcat als Web-Container und MySQL-Datenbank. Ich habe Tomcat mit dem Apache HTTP Server Front und verwendet, um die Apache mod_jk2 Modul als Schnittstelle Load-Balancing und Failover zu handhaben.

Viele Ressourcen sind im Internet verfügbar von der Apache-Dokumentation zu starten. Hier sind einige Beispiele:

http://tomcat.apache.org/connectors-doc/reference /workers.html

http: //www.redhat .com / docs / Handbücher / rhaps / jonas-guide / s1-load-balancing.html

http://tomcat.apache.org/connectors-doc/webserver_howto /apache.html

Für MySQL Besuche MySQL Proxy für Load Balancing und Failover. Es ist eine gute Idee, mehr als eine Datenbank-Server für den Lastenausgleich haben und Failover. ein Satz von Datenbanken für liest und der andere Satz für schreibt. In Abhängigkeit von der Lautstärke könnte man mehr / weniger Server für Lese zuordnen will / schreibt. Ihre Datenbank-Dokumentation könnte auch in der Konfiguration helfen.

HTH.

Ein Freund von mir sagt, dass Gebäude Scalable Web Sites die endgültige ist Buch zum Thema:

Scalable Internet Architekturen von Theo Schlossnagle könnte auch von Interesse sein.

Ich lese gerade fertig Architecting Enterprise Solutions: Patterns für Hoch Capability Internet-basierte Systeme . Ausgezeichnete Einführung für mich auf Skalierbarkeit, Verfügbarkeit, Leistung, Sicherheit und eine ganze Menge anderer Aspekte für Enterprise System

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