Pregunta

¿Cuáles son las herramientas para lograr una alta disponibilidad para aplicaciones Web Java.

¿Fue útil?

Solución

El enfoque principal para el uso no es una herramienta. Se llama "software de calidad." - es decir, debe gestionar todos sus recursos (incluyendo sincronización) correctamente

Apache Hadoop es algo que se puede utilizar para la distribución y la ampliación de su sistema. Pero eso es para enorme aplicaciones.

balanceo de carga es algo a considerar, así .

Otros consejos

Tal vez usted está en busca de una solución de cluster? Hay la versión Open Source de terracota de JVM La agrupación

La eliminación de puntos únicos de fallo a través de la redundancia en todos los niveles de la aplicación. Puede hacerse preguntas a lo largo de las líneas de "¿qué ocurre si falla X" y luego encontrar formas de mitigar ese riesgo.

Hay por lo menos dos aspectos principales que tendrá que hacer frente a:

  1. Operational
  2. Arquitectura, diseño, código

Cada uno de estos elementos son grandes preguntas. Por ejemplo, hay un par de buenos sitios dedicados a éstas (véase serverfault.com y stackoverflow.com, respectivamente).

Las consideraciones operativas incluyen: despliegues de escala, incluyendo el equilibrio de carga, recuperación de desastres, un CDN, si es posible, y el seguimiento. consideraciones de implementación en curso son también importantes.

Arquitectura -> consideraciones de código son numerosos y significativos. Desde la arquitectura de la solución, a la disposición de su código para el mantenimiento, y la más difícil de alcanzar: la corrección. Mi mejor sugerencia: contratar a alguien con experiencia. Que si no, leer libros y similares de alguien con experiencia.

Además, en el mundo Java, que es muy importante para llegar a un acuerdo con esto un hecho importante: es probable que se ha escrito antes. ¡Esta es una gran noticia! Así que muchas personas muy, muy brillantes han pasado horas y horas escribiendo código para usted y han hecho que sea de libre acceso en lugares como [Jakarta] Apache, Google Code, Codehaus, Sourceforge, y muchos otros sitios de código abierto. La investigación más que hacer en su pregunta, cuanto más se va a encontrar estos jugadores que aparecen. Una habilidad importante es determinar qué software disponible es una buena opción para usted.

La gente ha contribuido otras respuestas con las tecnologías específicas de la elección, muchos de los cuales son buenas sugerencias, pero todo se reduce al problema real que está tratando de resolver, y sólo usted sabe lo que es (bueno, la cuestión doesn' t dicen nos de todos modos:. D)

Para empezar se necesita:

  1. Una aplicación web que puede ejecutarse en múltiples servidores web simultáneamente.
  2. Un front-end de equilibrio de carga que puede detectar servidores web fallidos y enrutar el tráfico a otras instancias en vivo. Esta parte no tiene que ser en Java. Usted tendrá que encontrar el punto de integración entre el equilibrador de carga y el contenedor web-app.

Después de la configuración inicial va, usted tendrá que encontrar otros puntos probables de fracaso como servidores de bases de datos, el servidor de equilibrio de carga en sí, servidor DNS, etc., y luego tratar de añadir redundancia y conmutación por error conmutación a estas capas demasiado .

También debe considerar como soluciones de hardware RAID, SAN, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top