Domanda

Quali sono gli strumenti per realizzare l'alta disponibilità per applicazioni Web Java.

È stato utile?

Soluzione

L'approccio principale per l'uso non è uno strumento. Si chiama "software di qualità." - vale a dire è necessario gestire tutte le risorse (tra cui la sincronizzazione) correttamente

Apache Hadoop è qualcosa che si può utilizzare per la distribuzione e il ridimensionamento del sistema. Ma questo è enorme applicazioni.

bilanciamento del carico è qualcosa di esaminare pure .

Altri suggerimenti

Forse siete alla ricerca di una soluzione di clustering? C'è la versione OpenSource di Terracotta di JVM Clustering

eliminazione di singoli punti di rottura per ridondanza a tutti i livelli dell'applicazione. È possibile porsi domande sulla falsariga di "cosa succede se X fallisce" e poi trovare il modo di mitigare tale rischio.

Ci sono almeno due aspetti principali che dovrà affrontare:

  1. operativa
  2. Architettura, design, codice

Ognuno di questi elementi sono grandi domande. Per esempio, ci sono un paio di buoni siti dedicati a questi (vedi serverfault.com e stackoverflow.com, rispettivamente).

considerazioni operative comprendono: implementazioni di scala, tra cui il bilanciamento del carico, il disaster recovery, un CDN, se possibile, e il monitoraggio. considerazioni sulla distribuzione in corso sono anche importanti.

Architettura -> considerazioni di codice sono numerose e significative. Dall'architettura della soluzione, per il layout del codice per la manutenibilità, e la più difficile da raggiungere: la correttezza. Il mio miglior suggerimento: assumere qualcuno con l'esperienza. Quella mancanza, leggere libri e simili da qualcuno con esperienza.

Inoltre, nel mondo Java, è molto importante per venire a patti con questo un fatto importante: è stato probabilmente scritto prima. Questa è una grande notizia! Così molte persone molto molto luminose hanno trascorso ore e ore a scrivere codice per e hanno reso liberamente disponibile in posti come [Giacarta] Apache, Google Code, Codehaus, Sourceforge, e numerosi altri siti di open source. Quanto più la ricerca si fa nella vostra domanda, tanto più troverete questi giocatori che appaiono. Un'abilità importante è determinare quale software disponibile è una buona misura per voi.

La gente hanno contribuito altre risposte con le tecnologie specifiche di scelta, molti dei quali sono buoni suggerimenti, ma tutto si riduce al problema effettivo che si sta tentando di risolvere, e solo tu sai di cosa si tratta (o meglio, la questione doesn' t dire ci in ogni caso:. D)

Per iniziare è necessario:

  1. Un'applicazione web che può essere eseguito su più web-server contemporaneamente.
  2. Un front-end di bilanciamento del carico in grado di rilevare Web-server fallite e il traffico ad altre istanze dal vivo. Questa parte non deve essere in Java. Avrete bisogno di trovare il punto di integrazione tra il bilanciamento del carico e il contenitore web-app.

Dopo aver la configurazione iniziale in corso, sarà necessario trovare altri punti probabili di fallimento come server di database, il server di bilanciamento del carico stesso, server DNS, ecc e quindi provare a aggiungere ridondanza e fail-over di commutazione a questi livelli troppo .

Si dovrebbe anche prendere in considerazione soluzioni hardware come RAID, SAN, ecc

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top