Frage

Was sind die Werkzeuge für die Erreichung einer hohen Verfügbarkeit für Java Web-Anwendung.

War es hilfreich?

Lösung

Der Hauptansatz Gebrauch ist kein Werkzeug. Es heißt „Qualität Software“ genannt - d. H müssen Sie alle Ihre Ressourcen umgehen (einschließlich Synchronisation) richtig

Apache Hadoop ist etwas, das Sie zum Verteilen und Skalieren des Systems verwenden können. Aber das ist für große Anwendungen.

Load Balancing etwas ist in so gut aussehen .

Andere Tipps

Vielleicht bist du für eine Clustering-Lösung? Es gibt die Open Source Version von Terrakotta JVM Clustering

Die Beseitigung Single Points of Failure durch Redundanz auf allen Ebenen der Anwendung. Sie können sich Fragen stellen entlang der Linien von „was passiert, wenn X nicht“ und dann Wege zur Milderung dieses Risiko finden.

Es gibt mindestens zwei Hauptaspekte werden Sie zu bewältigen haben:

  1. Operational
  2. Architektur, Design, Code

Jedes dieser Elemente sind große Fragen. Zum Beispiel gibt es ein paar gute Seiten zu diesem gewidmet (siehe serverfault.com und stackoverflow.com, respectively).

Operative Überlegungen beinhalten: Skalierung Implementierungen einschließlich Load Balancing, Disaster Recovery, ein CDN, wenn möglich, und zu überwachen. Laufende Bereitstellungsüberlegungen sind ebenfalls wichtig.

Architektur -> Code Überlegungen sind zahlreich und bedeutsam. Von der Architektur Ihrer Lösung, um das Layout des Codes für die Wartbarkeit und der am schwersten zu erreichen: Korrektheit. Mein bester Vorschlag: Vermietung jemand mit Erfahrung. Das Versäumnis, Bücher lesen und dergleichen, die von jemandem mit Erfahrung.

Auch in der Java-Welt, ist es sehr wichtig, mich mit dieser einer wichtigen Tatsache zu kommen: Es ist wahrscheinlich, bevor geschrieben. Das sind gute Nachrichten! So viele sehr sehr hell Leute haben unzählige Stunden des Schreiben von Code ausgegeben für Sie und haben es frei an Orten wie [Jakarta] Apache, Google Code, Codehaus, Source und zahlreiche andere Open-Source-Websites zur Verfügung gestellt. Je mehr Forschung Sie in Ihrer Frage zu tun, desto mehr werden Sie diese Spieler erscheinen finden. Eine wichtige Fähigkeit ist, die verfügbare Software-Bestimmung für Sie eine gute Passform ist.

Die Leute haben dazu beigetragen, andere Antworten mit spezifischen Technologien der Wahl, gute Vorschläge, von denen viele, aber es läuft alles auf das eigentliche Problem nach unten Sie versuchen zu lösen, und nur Sie wissen, was das ist (na ja, die Frage doesn‘ t sagen uns sowieso: D.)

So starten Sie brauchen:

  1. Eine Web-Anwendung, die gleichzeitig auf mehreren Web-Servern ausgeführt werden kann.
  2. Ein Load-Balancing-Front-End, die fehlgeschlagen Web-Servern und leiten den Verkehr zu anderen Live-Instanzen erkennen kann. Dieser Teil muss nicht in Java sein. Sie müssen Integrationspunkt zwischen Ihrem Loadbalancer und Web-App-Container finden.

Nachdem die Ersteinrichtung geht, müssen Sie andere wahrscheinliche Fehlerpunkte wie Datenbankserver, der Load-Balancing-Server selbst, DNS-Server usw. zu finden und dann versuchen, Redundanz hinzuzufügen und Fail-Over zu an diesen Schichten Schalen .

Sie sollten auch Hardware-Lösungen wie RAID, SAN, etc.

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