Servidor de aplicaciones
Jaime Cid ● Arquitecto de Soluciones WEB
●
–http://blogs.sun.com/jaimecid
●
Febrero de 2006
Índice
• ESCALABILIDAD. Diseñando arquitecturas masivamente escalables. • ALTA DISPONIBILIDAD. Diseñando una arquitectura 24x7. • OPERACION CONTINUA. Estrategias de despliegue de Aplicaciones. • GESTIONABILIDAD.Integración con gestión de Red. Gestion JMX • ESTANDARES. J2EE 1.4. Roadmap J2EE 5.0. Novedades.
Índice
• IDENTIDAD y SEGURIDAD. Integración del servidor de Aplicaciones con sistemas LDAP y SSO • MERCADO Servidores J2EE. Servidores OpenSource vs Servidores comerciales
Contexto
• En la gestión de los proyectos WEB no sólo es importante la arquitectura de desarrollo del proyecto, sino que laarquitectura de sistemas y de operación de la plataforma es fundamental a la hora de proporcionar la calidad de servicio requerida por los usuarios • Una aplicación funcionalmente perfecta no servira a su proposito si tiene un tiempo de respuesta muy lento o tiene una disponibilidad baja.
Objetivos
• Entender las posibilidades de arquitectura de operación de los servidores de AplicacionesJ2EE • Planificar adecuadamente el HW para conseguir la máximas prestaciones para un determinado presupuesto económico • Establecer criterios de decisión para elegir entre productos OpenSource, versiones básicas o versiones Enterprise según las necesidades de cada proyecto
Servidores de Aplicaciones J2EE
ci a
•
Concurrency
Pr
Consistency • Security • Availability • Scalability •Administration • Integration • Distribution
•
C
to
uc
od
D
es
ar
ro
llo
Presentation ●Business Logic ●Data access (optional)
●
om
ap l
ic ac ió
er
l
n
Containers
Components
Servidores de Aplicaciones Comerciales
Application Development Management Performance Platform Edition Standard Edition Enterprise Edition Monitoring
ApplicationRuntime
Load Balancing
Pooling and Caching
Failover
Funcionalidades extendidas de los Servidores de Aplicaciones Comerciales
JMS HTTP(S) Timers RMI / IIOP
message routing / load balancing management
I3
I4
I5
I6
I7
I8
host A
host B
host C
state availability
Escalabilidad
¿Qué es escalabilidad?
• Cómo se comporta una arquitectura cuandoúnicamente aumenta la carga del sistema y los demás parámetros se mantienen constantes • Idealmente la escalabilidad debe ser lineal, es decir si la arquitectura soporta N usuarios, y se doblan los recursos de la arquitectura, entonces soporta 2xN usuarios. • Escalabilidad vertical: Aumentando el numero de CPUs, y memoria de los mismos servidores • Escalabilidad horizontal: Aumentando el número deservidores de las mismas características
Balanceo de carga
Balanceo de carga basado en DNS
San Diego 3 DNS GLB
Server Local DNS Server
192.10.1.50 San Francisco
New York
Server Local DNS Server
10.10.1.50 New York
Balanceo de Carga
Balanceo de carga basado en Cookies
GLB Client 1 San Francisco Local LB
Server
Set-Cookie
: Site=San-F
rancisco;
Server
Client 2
Set-Cookie: Site= New Yor k;
New York Local LB
Server
Server
Sticky round-robin load balancing
Client 1 R11 R12 Servlet (HTTP Session) R11 Cookie : instance=server1 Load Balancer R12 R21 R21 Client2 Rij = jth request from client i Cookie : instance=server2
●
Server 1
Servlet (HTTP Session)
Server 2
Cluster
Permite que dirigir cada usuario a un mismo servidor durante el ciclo devida de la sesión en la información de sesión ● Implementación mediante cookies de sesión de navegador
Persistencia del servidor basada en Cookies Cookie Pasiva:
Diseño de los plugins de servidor Web
– Mantenimiento de la persistencia basado en la cookie generada por el servidor de aplicaciones
Web Server/LB GET /Helloworld.jsp GET /index.jsp
14754 34528 98402 Server1
/H GET ell rld...
Regístrate para leer el documento completo.