SlideShare una empresa de Scribd logo
29 de septiembre de 2015
Servidor de mapas en HA con Jboss,
Geoserver y PostGIS.
9ª Jornadas de SIG Libre, 20159ª Jornadas de SIG Libre, 2015
Presentación
9ª Jornadas de SIG Libre, 20153
INCLAM: ¿Quienes somos?
9ª Jornadas de SIG Libre, 20154
¿Y vosotros?
●
David Tabernero
●
david.tabernero@inclam.com
●
Ing. Informático
●
Carolina Moya
●
carolina.moya@inclam.com
●
Ing. Informática
Necesidades
9ª Jornadas de SIG Libre, 20156
La información geográfica
●
La información geográfica tiene cada vez más
relevancia
9ª Jornadas de SIG Libre, 20157
Problemas...
Comenzamos a
centralizar todo:
Comenzamos a
centralizar todo:
9ª Jornadas de SIG Libre, 20158
Hay que buscar una solución...
●
Software libre
●
Las soluciones son maduras
●
Soluciones estables
●
Hay soporte, tanto comercial como de la
comunidad
●
Implementación de estándares (OGC, ISO)
●
Aparecen necesidades externas
9ª Jornadas de SIG Libre, 20159
¿HA y HP?
●
High Availability (HA):
●
"Disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al sistema, someter
nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos. Si
un usuario no puede acceder al sistema se dice que está no disponible." (Wikipedia)
●
"Availability for a cluster means: If one node fails, all the sessions on that node will be seamlessly
served by another node. This can be achieved through session-replication." (blog.akquinet.de)
●
High performance (HP) o Scalability
●
"Scalability means if you add more nodes to your cluster you get more computing power from your
cluster. With computing power we mean both: CPU-power and memory." (blog.akquinet.de)
9ª Jornadas de SIG Libre, 201510
Ejemplos
9ª Jornadas de SIG Libre, 201511
Ejemplos
9ª Jornadas de SIG Libre, 201512
Ejemplos
9ª Jornadas de SIG Libre, 201513
Necesidades
●
Alta disponibilidad
●
Alto rendimiento
●
Maduro
●
Sencillo (en configuración, mantenimiento y
actualización
●
Mantenible
●
Y utilizar los menores recursos posibles
9ª Jornadas de SIG Libre, 201514
Soluciones
Todas son solucionesTodas son soluciones
Herramientas
9ª Jornadas de SIG Libre, 201516
Geoserver
●
Servidor de mapas
●
Java
●
OGC
●
Pluings
●
Cache de teselas (GWC) de serie
●
Rendimiento aceptable
●
¡Interfaz REST!
9ª Jornadas de SIG Libre, 201517
PostgreSQL + PostGIS
●
Servidor de base de datos
●
Maduro
●
Almacen de datos
●
Muy buen rendimiento
●
Extensión PostGIS
●
Añade extensiones geoespaciales (datos, funciones) a
PostgreSQL
●
pgRaster
9ª Jornadas de SIG Libre, 201518
Jboss/Wildfly
●
Servidor de aplicaciones J2EE Open Source
●
Multiplataforma
●
¿Pero porqué no Tomcat?
●
Soporte para la HA de "serie"
●
Línea de comandos potente
●
Permite una gran personalización de funcionalidad,
gracias a su sistema modular
●
Incorpora herramientas para testing (Arquillian)
Jboss/Wildfly
9ª Jornadas de SIG Libre, 201520
Módulos
●
Módulos (nuevo en versión 7)
●
Son "librerías" compartidas (principio DRY – "Don't
repeat yourself") para "class loading"
●
Compuesto por uno o varios jar
●
Dependencias en cascadas
●
Uso del fichero "Jboss-deployment-structure.xml"
9ª Jornadas de SIG Libre, 201521
Perfiles
9ª Jornadas de SIG Libre, 201522
Perfiles: HA
9ª Jornadas de SIG Libre, 201523
Estructura de directorios
JBOSS_HOME/modules/org/postgresql/mainJBOSS_HOME/modules/org/postgresql/main
JBOSS_HOMEJBOSS_HOME
MódulosMódulos
Perfile
s
Perfile
s
Geoserver en JBoss
9ª Jornadas de SIG Libre, 201525
Desplegar Geoserver
●
No es tan sencillo
●
Descargar el fichero WAR (Web Archive)
●
[Recomendable] Descargar y configurar las Java Advanced
Imaging (JAI) y las Java Image IO (ImageIO)
●
Añadir los paquetes al una ruta accesible por PATH, usualmente en
$JAVA_HOME/jre/lib/ o $JAVA_HOME/jre/ext/libs.
– http://docs.geotools.org/latest/userguide/build/install/jdk.html
●
Crear un módulo para Jboss con los JAR
9ª Jornadas de SIG Libre, 201526
Desplegar Geoserver (II)
●
Modificar el fichero WAR de Geoserver
●
En el fichero "web.xml" añadir la etiqueta
"<distributable/>" -> para el clustering
●
Añadir el fichero "jboss-deployment-structure.xml"
Conceptos de “clustering” en JBoss
9ª Jornadas de SIG Libre, 201528
Domain
●
Standalone
●
Instancia única: No hay compartición de recursos entre
instancias. Si se comunican.
●
Domain
●
Conjunto de instancias de JBoss que comparten
“recursos”
●
En un mismo host puede haber varias instancias
●
Funcionando como Maestro – Esclavo
9ª Jornadas de SIG Libre, 201529
Domain (II)
●
Domain controller: es el maestro del
cluster
●
Host controller: Controlador de un host
(esclavo)
●
Instances: Jboss (como en standalone)
●
Groups: Agrupaciones lógica de
instancias para agrupar por tipo de
instancia (default, full, ha, o full-ha) o
para desplegar en conjunto
9ª Jornadas de SIG Libre, 201530
Host maestro
●
Para configurarlo (siguiendo el esquema anterior):
●
Editar el fichero: "JBOSS-HOME/domain/configuration/domain.xml"
– Los host maestro no suelen tener instancias definidas
– Definir el "server-group" a utilizar:
9ª Jornadas de SIG Libre, 201531
Host maestro (II)
●
Hay que crear un usuario para que los nodos
esclavos lo usen para conectarse:
"JBOSS_HOME/bin/add-user", indicando que este
usuario es de dominio y para conectarse desde
otras instancias
– Hay que apuntar el <secret value=... /> que muestra el
final del script.
●
Arrancamos el host.
9ª Jornadas de SIG Libre, 201532
Host esclavo
●
Se configura mediante el fichero: "JBOSS-
HOME/domain/configuration/host-slave.xml"
●
Definir un hostname del nodo
●
Definir el usuario definido anteriormente y asignar la contraseña cifrada
[...]
9ª Jornadas de SIG Libre, 201533
Host esclavo
●
Arrancar las instancias dentro del host (server-one y
server-two)
●
Arrancar la instancia indicando donde está el maestro:
– domain.sh -b IP_ESCLAVO
-Djboss.domain.master.address=IP_MAESTRO
-Djboss.bind.address.management=IP_ESCLAVO
Complicando las cosas
9ª Jornadas de SIG Libre, 201535
¿Es domain nuestra solución?
9ª Jornadas de SIG Libre, 201536
¿Es domain nuestra solución?
●
El "Domain" es una solución de Jboss para
mejorar el rendimiento y escalabilidad.
●
Requiere más equipos = mas configuración
●
No soluciona el problema crítico de la HA (el
maestro es un punto crítico)
●
Otra solución
– "modcluster" + Apache para balancear carga
9ª Jornadas de SIG Libre, 201537
Activo-Activo
9ª Jornadas de SIG Libre, 201538
Módulo "mod_cluster"
9ª Jornadas de SIG Libre, 201539
Módulo "mod_cluster" (II)
●
Tiene dos partes
●
Una corre en Jboss
●
Otra corre en Apache (hace de proxy, siguiendo las normas de la parte
Jboss)
●
Apache:
●
Instalar módulo usualmente en: " /usr/lib/apache2/modules/"
●
Jboss:
●
En el fichero "standalone-ha.xml" aparecen estas lineas (si se usa otra
añadir):
– <extension module="org.jboss.as.modcluster"/>
– <subsystem xmlns="urn:jboss:domain:modcluster:1.0" />
9ª Jornadas de SIG Libre, 201540
Módulo "mod_cluster" (III)
●
Configurar en apache el módulo:
●
Activar el módulo y acceder a la consola.
9ª Jornadas de SIG Libre, 201541
Métricas de balanceo de carga
●
Se puede definir como se eligen los nodos:
9ª Jornadas de SIG Libre, 201542
Sticky sessions
●
Permite migrar las sesiones entre los nodos que
definen el nodo, mediante almacenar por persistencia.
●
Hay que definir un "Security Domain"
●
En el subsistema "Web":
– <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-
server="default-host" native="false">
●
Añadir
– <sso cache-container="web"/>
9ª Jornadas de SIG Libre, 201543
Sticky sessions
●
En el fichero "jboss-web.xml" de la aplicación
definir la política a usar
●
Granularidad
Otras arquitecturas
9ª Jornadas de SIG Libre, 201545
One Jboss, many clusters
●
Instancias Jboss con varios cluster definidos
9ª Jornadas de SIG Libre, 201546
Diferentes niveles de HA
9ª Jornadas de SIG Libre, 201547
Todo activo
Nuestra solución
9ª Jornadas de SIG Libre, 201549
Necesidades
●
No todas son nuestras, vienen de proyectos para terceros
●
Necesidad real de HA
●
Usar paradigma Activo-Activo en todos los componentes (HP)
●
Cluster con nodos separados geográficamente
●
Actualizaciones de la base de datos en tiempo real
●
SLA (tiempos de respuesta bajos)
9ª Jornadas de SIG Libre, 201550
Nodo
●
Se define un nodo, parte mínima de un cluster:
●
Apache (sólo dos nodos)
●
Instancia de Jboss en Standalone con HA
●
Geoserver (+ JAI + ImageIO) y plugins.
●
PostgreSQL + PostGIS
●
Un nodo es una unidad funcional, sin relación el resto.
●
Si se quiere cambiar una información, se tiene que cambiar en todos -> Se
puede hacer Activo-Activo.
●
¿Pero porqué no se hace un cluster de PostgreSQL?
●
No hay soluciones maduras Activo-Activo de PostgreSQL, con alto rendimiento
en la actualización de tablas.
9ª Jornadas de SIG Libre, 201551
Problemas a solucionar
●
Manejar las base de datos -> Hibernate (pero no Hibernate Spatial)
●
No permite manejar la base de datos, y hacer carga de datos iniciales.
●
Definir JNDI para usarlos directamente con Geoserver
●
Configuración entre nodos -> Infinispan
●
Base de datos "clave-valor" común a todo el cluster (Jboss nos lo ofrece "gratis").
●
Sincronización de la información de Geoserver -> Librería "Geoserver-manager"
●
Desarrollada por GeoSolutions. Permite usar el interfaz REST de control de Geoserver desde Java y
permite desplegar cartografía
●
Monitorización del estado de los nodos y los componentes -> PandoraFMS
9ª Jornadas de SIG Libre, 201552
Clonación
●
Con esta arquitectura es sencillo clonar
●
Solo hay que cambiar "hostname", y id del cluster
●
Usar backup para dotar de contenido
– Geoserver -> Copiar GEOSERVER_DATA_DIR
– Desplegar otros WAR...
– PostGIS -> pg_dump/pg_restore
●
Si queremos añadir un nodo al cluster, solo hay
que clonar
9ª Jornadas de SIG Libre, 201553
Easy...
9ª Jornadas de SIG Libre, 201554
Arquitectura
mod_clustermod_cluster
Pruebas de rendimiento
9ª Jornadas de SIG Libre, 201556
Escenario de Stress
●
3 Nodos del cluster montados sobre máquinas virtuales
Vmware ESXi
●
2 CPU, 4 Gb de RAM
●
Ethernet 100 Mbs, compartida con el resto de la oficina
●
Ubuntu Server 12.04 LTS (2 nodos) y Windows 7 (1 nodo)
●
Jmeter como software de estrés.
●
6 Equipos clientes (Win7) lanzando peticiones
simultáneamente contra el cluster
9ª Jornadas de SIG Libre, 201557
Escenario de Stress
●
Las pruebas son:
●
Peticiones WMS a diferentes BBOX
●
Con y sin caché (WMS vs WMTS)
●
Una prueba para cartografía vectorial, otra para raster
●
Numero de threads en diferentes pruebas: 300
●
Se lanzan en bucles de 250
●
Basadas en las pruebas de stress del FOSS4G
9ª Jornadas de SIG Libre, 201558
Resultados
Servidores de mapas en alta disponibilidad

Más contenido relacionado

La actualidad más candente

Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
Software Guru
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
esmeraldaq2011
 
MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - Cluster
Miguel Angel Nieto
 
Postgresql expo
Postgresql expoPostgresql expo
Postgresql expo
Andrés Hevia
 
Wikipedia Burgos devfest 2017
Wikipedia Burgos devfest 2017Wikipedia Burgos devfest 2017
Wikipedia Burgos devfest 2017
Jaime Crespo
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
camposer
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
Miguel Angel Nieto
 
Postgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por DentroPostgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por Dentro
EQ SOFT EIRL
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
brobelo
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Alejandro E Brito Monedero
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
Restorando
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
scastell77
 
Presentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain GroupPresentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain Group
Stackops
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
Antonio Ognio
 
Cloud Computing. Contenedores
Cloud Computing. ContenedoresCloud Computing. Contenedores
Cloud Computing. Contenedores
pacvslideshare
 
Escenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMSEscenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMS
Jose Arturo Mora Soto
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
Gustavo Andres Brey
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
Oto Tumax
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2
EQ SOFT EIRL
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidad
Santiago Zarate
 

La actualidad más candente (20)

Solapas principales Ver(solapa activa) Editar Gestionar present...
 Solapas principales      Ver(solapa activa)     Editar     Gestionar present... Solapas principales      Ver(solapa activa)     Editar     Gestionar present...
Solapas principales Ver(solapa activa) Editar Gestionar present...
 
Cluster con postgresql
Cluster con postgresqlCluster con postgresql
Cluster con postgresql
 
MySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - ClusterMySQL - High Availability - Load Balacing - Cluster
MySQL - High Availability - Load Balacing - Cluster
 
Postgresql expo
Postgresql expoPostgresql expo
Postgresql expo
 
Wikipedia Burgos devfest 2017
Wikipedia Burgos devfest 2017Wikipedia Burgos devfest 2017
Wikipedia Burgos devfest 2017
 
Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 
Postgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por DentroPostgresql Como Funciona Una Dbms Por Dentro
Postgresql Como Funciona Una Dbms Por Dentro
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
Migrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQLMigrando de MSSQL a PostgreSQL
Migrando de MSSQL a PostgreSQL
 
Presentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain GroupPresentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain Group
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
 
Cloud Computing. Contenedores
Cloud Computing. ContenedoresCloud Computing. Contenedores
Cloud Computing. Contenedores
 
Escenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMSEscenarios de Sistemas Distribuidos con Chamilo LMS
Escenarios de Sistemas Distribuidos con Chamilo LMS
 
Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015Docker como la máxima expresión de Devops - WISIT 2015
Docker como la máxima expresión de Devops - WISIT 2015
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2Dba PostgreSQL desde básico a avanzado parte2
Dba PostgreSQL desde básico a avanzado parte2
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidad
 

Destacado

Maximoda 2
Maximoda 2Maximoda 2
Maximoda 2
alelondoagu
 
Fundamentos del computador presentacion
Fundamentos del computador presentacionFundamentos del computador presentacion
Fundamentos del computador presentacion
Joan Alberto Cepeda Reyes
 
La comunicacion humana
La comunicacion humanaLa comunicacion humana
La comunicacion humana
miguel_cesar
 
Tipos de virus yeison rojas (2)
Tipos de virus yeison rojas (2)Tipos de virus yeison rojas (2)
Tipos de virus yeison rojas (2)
yeisonrojas1999
 
SanAgustinDeHipona
SanAgustinDeHiponaSanAgustinDeHipona
SanAgustinDeHipona
Giovany Portilla
 
Conceptos Básicos
Conceptos BásicosConceptos Básicos
Conceptos Básicos
Juannito Mtt'z BD
 
Servicio higiénico en baños
Servicio higiénico en bañosServicio higiénico en baños
Servicio higiénico en baños
hjmfvgsdgfdhfjkhvcskdcv
 
Roma diapositivas
Roma diapositivasRoma diapositivas
Roma diapositivas
yuliana2411
 
Paneles Misiones 2014
Paneles Misiones 2014Paneles Misiones 2014
Paneles Misiones 2014
enricano
 
Futbol
FutbolFutbol
Álbum zoologico Rosy walther
Álbum zoologico Rosy waltherÁlbum zoologico Rosy walther
Álbum zoologico Rosy walther
David Jose Alvarez Ramirez
 
Bogota
BogotaBogota
b.s.certf-scanned1
b.s.certf-scanned1b.s.certf-scanned1
b.s.certf-scanned1
jeya prabhu
 
La venida del señor jesús
La venida del señor jesúsLa venida del señor jesús
La venida del señor jesús
Karen Rodriguez Sabogal
 
Intervenção em Infecciologia
Intervenção em InfecciologiaIntervenção em Infecciologia
Intervenção em Infecciologia
Unidade de Neuropsicologia HEM|CHLO
 
Transmision de datos
Transmision de datosTransmision de datos
Transmision de datos
HumbertoTorres19
 
27
2727
Casos clínicos cuarta semana
Casos clínicos cuarta semanaCasos clínicos cuarta semana
Casos clínicos cuarta semana
Tatiana Garcés
 
Foto Mancuso
Foto MancusoFoto Mancuso
Foto Mancuso
RCMancuso
 

Destacado (20)

Maximoda 2
Maximoda 2Maximoda 2
Maximoda 2
 
Fundamentos del computador presentacion
Fundamentos del computador presentacionFundamentos del computador presentacion
Fundamentos del computador presentacion
 
La comunicacion humana
La comunicacion humanaLa comunicacion humana
La comunicacion humana
 
Tipos de virus yeison rojas (2)
Tipos de virus yeison rojas (2)Tipos de virus yeison rojas (2)
Tipos de virus yeison rojas (2)
 
SanAgustinDeHipona
SanAgustinDeHiponaSanAgustinDeHipona
SanAgustinDeHipona
 
Conceptos Básicos
Conceptos BásicosConceptos Básicos
Conceptos Básicos
 
Servicio higiénico en baños
Servicio higiénico en bañosServicio higiénico en baños
Servicio higiénico en baños
 
Roma diapositivas
Roma diapositivasRoma diapositivas
Roma diapositivas
 
Paneles Misiones 2014
Paneles Misiones 2014Paneles Misiones 2014
Paneles Misiones 2014
 
Futbol
FutbolFutbol
Futbol
 
Álbum zoologico Rosy walther
Álbum zoologico Rosy waltherÁlbum zoologico Rosy walther
Álbum zoologico Rosy walther
 
Bogota
BogotaBogota
Bogota
 
b.s.certf-scanned1
b.s.certf-scanned1b.s.certf-scanned1
b.s.certf-scanned1
 
La venida del señor jesús
La venida del señor jesúsLa venida del señor jesús
La venida del señor jesús
 
Intervenção em Infecciologia
Intervenção em InfecciologiaIntervenção em Infecciologia
Intervenção em Infecciologia
 
Transmision de datos
Transmision de datosTransmision de datos
Transmision de datos
 
27
2727
27
 
Casos clínicos cuarta semana
Casos clínicos cuarta semanaCasos clínicos cuarta semana
Casos clínicos cuarta semana
 
Gruia Andrei
Gruia AndreiGruia Andrei
Gruia Andrei
 
Foto Mancuso
Foto MancusoFoto Mancuso
Foto Mancuso
 

Similar a Servidores de mapas en alta disponibilidad

202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
Manuel de la Peña Peña
 
Paralela9
Paralela9Paralela9
Paralela9
Abraham Zamudio
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
Ymbra
 
Paralela10
Paralela10Paralela10
Paralela10
Abraham Zamudio
 
Arquitectura de proyectos Drupal
Arquitectura de proyectos DrupalArquitectura de proyectos Drupal
Arquitectura de proyectos Drupal
Ymbra
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
Mario Pérez Esteso
 
ATICA DevOps
ATICA DevOpsATICA DevOps
Automatización de tareas con Gulp
Automatización de tareas con GulpAutomatización de tareas con Gulp
Automatización de tareas con Gulp
Álvaro Navarro Iborra
 
Funkschau 2013-español
Funkschau 2013-españolFunkschau 2013-español
Funkschau 2013-español
Juan Jose Ortiz Copa
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Iván Campaña Naranjo
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
camposer
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 
Git Primeros pasos
Git Primeros pasosGit Primeros pasos
Git Primeros pasos
Jesús Amieiro
 
Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)
Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)
Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)
Alvaro Huarte
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
SiteGround España
 
Greach 2011 - Novedades de Grails 2.0
Greach 2011 - Novedades de Grails 2.0Greach 2011 - Novedades de Grails 2.0
Greach 2011 - Novedades de Grails 2.0
greach_es
 
Panorama del ecosistema de software libre GIS 2009
Panorama del ecosistema de software libre GIS 2009Panorama del ecosistema de software libre GIS 2009
Panorama del ecosistema de software libre GIS 2009
Miguel Montesinos
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacional
Gailen Tecnologías
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
Jazmin Glez.
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
Jillian Motoharu
 

Similar a Servidores de mapas en alta disponibilidad (20)

202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
Paralela9
Paralela9Paralela9
Paralela9
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 
Paralela10
Paralela10Paralela10
Paralela10
 
Arquitectura de proyectos Drupal
Arquitectura de proyectos DrupalArquitectura de proyectos Drupal
Arquitectura de proyectos Drupal
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Automatización de tareas con Gulp
Automatización de tareas con GulpAutomatización de tareas con Gulp
Automatización de tareas con Gulp
 
Funkschau 2013-español
Funkschau 2013-españolFunkschau 2013-español
Funkschau 2013-español
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
Git Primeros pasos
Git Primeros pasosGit Primeros pasos
Git Primeros pasos
 
Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)
Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)
Experiencia en el desarrollo de GIS opensource (QGIS, GWC, GDAL-OGR)
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
 
Greach 2011 - Novedades de Grails 2.0
Greach 2011 - Novedades de Grails 2.0Greach 2011 - Novedades de Grails 2.0
Greach 2011 - Novedades de Grails 2.0
 
Panorama del ecosistema de software libre GIS 2009
Panorama del ecosistema de software libre GIS 2009Panorama del ecosistema de software libre GIS 2009
Panorama del ecosistema de software libre GIS 2009
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacional
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
 

Más de InclamSoft

mgt
mgtmgt
q-hydro
q-hydroq-hydro
q-hydro
InclamSoft
 
2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...
2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...
2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...
InclamSoft
 
Co2Logistic Tool
Co2Logistic ToolCo2Logistic Tool
Co2Logistic Tool
InclamSoft
 
Wat erp ogc_recommendationshyfeatures_v0.0
Wat erp ogc_recommendationshyfeatures_v0.0Wat erp ogc_recommendationshyfeatures_v0.0
Wat erp ogc_recommendationshyfeatures_v0.0
InclamSoft
 
Wml2 interoperability experiment
Wml2 interoperability experimentWml2 interoperability experiment
Wml2 interoperability experiment
InclamSoft
 

Más de InclamSoft (6)

mgt
mgtmgt
mgt
 
q-hydro
q-hydroq-hydro
q-hydro
 
2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...
2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...
2010 guad2 d-a-two-dimensional-flow-model-for-floodplain-mapping-over-time-ca...
 
Co2Logistic Tool
Co2Logistic ToolCo2Logistic Tool
Co2Logistic Tool
 
Wat erp ogc_recommendationshyfeatures_v0.0
Wat erp ogc_recommendationshyfeatures_v0.0Wat erp ogc_recommendationshyfeatures_v0.0
Wat erp ogc_recommendationshyfeatures_v0.0
 
Wml2 interoperability experiment
Wml2 interoperability experimentWml2 interoperability experiment
Wml2 interoperability experiment
 

Último

DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
taniarivera1015tvr
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
KeylaArlethTorresOrt
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
JaimmsArthur
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
HarofHaro
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
PPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdfPPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdf
EgorRamos1
 
Calculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajosCalculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajos
JuanCarlos695207
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
brandonsinael
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
pipex55
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
munozvanessa878
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
jhunior lopez rodriguez
 
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIAMETODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
LuisCiriacoMolina
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
FantasticVideo1
 

Último (20)

DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
PPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdfPPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdf
 
Calculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajosCalculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajos
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
 
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIAMETODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
METODOLOGIA DE TRAZO Y REPLANTEO EN TOPOGRAFIA
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
 

Servidores de mapas en alta disponibilidad

  • 1. 29 de septiembre de 2015 Servidor de mapas en HA con Jboss, Geoserver y PostGIS. 9ª Jornadas de SIG Libre, 20159ª Jornadas de SIG Libre, 2015
  • 3. 9ª Jornadas de SIG Libre, 20153 INCLAM: ¿Quienes somos?
  • 4. 9ª Jornadas de SIG Libre, 20154 ¿Y vosotros? ● David Tabernero ● david.tabernero@inclam.com ● Ing. Informático ● Carolina Moya ● carolina.moya@inclam.com ● Ing. Informática
  • 6. 9ª Jornadas de SIG Libre, 20156 La información geográfica ● La información geográfica tiene cada vez más relevancia
  • 7. 9ª Jornadas de SIG Libre, 20157 Problemas... Comenzamos a centralizar todo: Comenzamos a centralizar todo:
  • 8. 9ª Jornadas de SIG Libre, 20158 Hay que buscar una solución... ● Software libre ● Las soluciones son maduras ● Soluciones estables ● Hay soporte, tanto comercial como de la comunidad ● Implementación de estándares (OGC, ISO) ● Aparecen necesidades externas
  • 9. 9ª Jornadas de SIG Libre, 20159 ¿HA y HP? ● High Availability (HA): ● "Disponibilidad se refiere a la habilidad de la comunidad de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al sistema se dice que está no disponible." (Wikipedia) ● "Availability for a cluster means: If one node fails, all the sessions on that node will be seamlessly served by another node. This can be achieved through session-replication." (blog.akquinet.de) ● High performance (HP) o Scalability ● "Scalability means if you add more nodes to your cluster you get more computing power from your cluster. With computing power we mean both: CPU-power and memory." (blog.akquinet.de)
  • 10. 9ª Jornadas de SIG Libre, 201510 Ejemplos
  • 11. 9ª Jornadas de SIG Libre, 201511 Ejemplos
  • 12. 9ª Jornadas de SIG Libre, 201512 Ejemplos
  • 13. 9ª Jornadas de SIG Libre, 201513 Necesidades ● Alta disponibilidad ● Alto rendimiento ● Maduro ● Sencillo (en configuración, mantenimiento y actualización ● Mantenible ● Y utilizar los menores recursos posibles
  • 14. 9ª Jornadas de SIG Libre, 201514 Soluciones Todas son solucionesTodas son soluciones
  • 16. 9ª Jornadas de SIG Libre, 201516 Geoserver ● Servidor de mapas ● Java ● OGC ● Pluings ● Cache de teselas (GWC) de serie ● Rendimiento aceptable ● ¡Interfaz REST!
  • 17. 9ª Jornadas de SIG Libre, 201517 PostgreSQL + PostGIS ● Servidor de base de datos ● Maduro ● Almacen de datos ● Muy buen rendimiento ● Extensión PostGIS ● Añade extensiones geoespaciales (datos, funciones) a PostgreSQL ● pgRaster
  • 18. 9ª Jornadas de SIG Libre, 201518 Jboss/Wildfly ● Servidor de aplicaciones J2EE Open Source ● Multiplataforma ● ¿Pero porqué no Tomcat? ● Soporte para la HA de "serie" ● Línea de comandos potente ● Permite una gran personalización de funcionalidad, gracias a su sistema modular ● Incorpora herramientas para testing (Arquillian)
  • 20. 9ª Jornadas de SIG Libre, 201520 Módulos ● Módulos (nuevo en versión 7) ● Son "librerías" compartidas (principio DRY – "Don't repeat yourself") para "class loading" ● Compuesto por uno o varios jar ● Dependencias en cascadas ● Uso del fichero "Jboss-deployment-structure.xml"
  • 21. 9ª Jornadas de SIG Libre, 201521 Perfiles
  • 22. 9ª Jornadas de SIG Libre, 201522 Perfiles: HA
  • 23. 9ª Jornadas de SIG Libre, 201523 Estructura de directorios JBOSS_HOME/modules/org/postgresql/mainJBOSS_HOME/modules/org/postgresql/main JBOSS_HOMEJBOSS_HOME MódulosMódulos Perfile s Perfile s
  • 25. 9ª Jornadas de SIG Libre, 201525 Desplegar Geoserver ● No es tan sencillo ● Descargar el fichero WAR (Web Archive) ● [Recomendable] Descargar y configurar las Java Advanced Imaging (JAI) y las Java Image IO (ImageIO) ● Añadir los paquetes al una ruta accesible por PATH, usualmente en $JAVA_HOME/jre/lib/ o $JAVA_HOME/jre/ext/libs. – http://docs.geotools.org/latest/userguide/build/install/jdk.html ● Crear un módulo para Jboss con los JAR
  • 26. 9ª Jornadas de SIG Libre, 201526 Desplegar Geoserver (II) ● Modificar el fichero WAR de Geoserver ● En el fichero "web.xml" añadir la etiqueta "<distributable/>" -> para el clustering ● Añadir el fichero "jboss-deployment-structure.xml"
  • 28. 9ª Jornadas de SIG Libre, 201528 Domain ● Standalone ● Instancia única: No hay compartición de recursos entre instancias. Si se comunican. ● Domain ● Conjunto de instancias de JBoss que comparten “recursos” ● En un mismo host puede haber varias instancias ● Funcionando como Maestro – Esclavo
  • 29. 9ª Jornadas de SIG Libre, 201529 Domain (II) ● Domain controller: es el maestro del cluster ● Host controller: Controlador de un host (esclavo) ● Instances: Jboss (como en standalone) ● Groups: Agrupaciones lógica de instancias para agrupar por tipo de instancia (default, full, ha, o full-ha) o para desplegar en conjunto
  • 30. 9ª Jornadas de SIG Libre, 201530 Host maestro ● Para configurarlo (siguiendo el esquema anterior): ● Editar el fichero: "JBOSS-HOME/domain/configuration/domain.xml" – Los host maestro no suelen tener instancias definidas – Definir el "server-group" a utilizar:
  • 31. 9ª Jornadas de SIG Libre, 201531 Host maestro (II) ● Hay que crear un usuario para que los nodos esclavos lo usen para conectarse: "JBOSS_HOME/bin/add-user", indicando que este usuario es de dominio y para conectarse desde otras instancias – Hay que apuntar el <secret value=... /> que muestra el final del script. ● Arrancamos el host.
  • 32. 9ª Jornadas de SIG Libre, 201532 Host esclavo ● Se configura mediante el fichero: "JBOSS- HOME/domain/configuration/host-slave.xml" ● Definir un hostname del nodo ● Definir el usuario definido anteriormente y asignar la contraseña cifrada [...]
  • 33. 9ª Jornadas de SIG Libre, 201533 Host esclavo ● Arrancar las instancias dentro del host (server-one y server-two) ● Arrancar la instancia indicando donde está el maestro: – domain.sh -b IP_ESCLAVO -Djboss.domain.master.address=IP_MAESTRO -Djboss.bind.address.management=IP_ESCLAVO
  • 35. 9ª Jornadas de SIG Libre, 201535 ¿Es domain nuestra solución?
  • 36. 9ª Jornadas de SIG Libre, 201536 ¿Es domain nuestra solución? ● El "Domain" es una solución de Jboss para mejorar el rendimiento y escalabilidad. ● Requiere más equipos = mas configuración ● No soluciona el problema crítico de la HA (el maestro es un punto crítico) ● Otra solución – "modcluster" + Apache para balancear carga
  • 37. 9ª Jornadas de SIG Libre, 201537 Activo-Activo
  • 38. 9ª Jornadas de SIG Libre, 201538 Módulo "mod_cluster"
  • 39. 9ª Jornadas de SIG Libre, 201539 Módulo "mod_cluster" (II) ● Tiene dos partes ● Una corre en Jboss ● Otra corre en Apache (hace de proxy, siguiendo las normas de la parte Jboss) ● Apache: ● Instalar módulo usualmente en: " /usr/lib/apache2/modules/" ● Jboss: ● En el fichero "standalone-ha.xml" aparecen estas lineas (si se usa otra añadir): – <extension module="org.jboss.as.modcluster"/> – <subsystem xmlns="urn:jboss:domain:modcluster:1.0" />
  • 40. 9ª Jornadas de SIG Libre, 201540 Módulo "mod_cluster" (III) ● Configurar en apache el módulo: ● Activar el módulo y acceder a la consola.
  • 41. 9ª Jornadas de SIG Libre, 201541 Métricas de balanceo de carga ● Se puede definir como se eligen los nodos:
  • 42. 9ª Jornadas de SIG Libre, 201542 Sticky sessions ● Permite migrar las sesiones entre los nodos que definen el nodo, mediante almacenar por persistencia. ● Hay que definir un "Security Domain" ● En el subsistema "Web": – <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual- server="default-host" native="false"> ● Añadir – <sso cache-container="web"/>
  • 43. 9ª Jornadas de SIG Libre, 201543 Sticky sessions ● En el fichero "jboss-web.xml" de la aplicación definir la política a usar ● Granularidad
  • 45. 9ª Jornadas de SIG Libre, 201545 One Jboss, many clusters ● Instancias Jboss con varios cluster definidos
  • 46. 9ª Jornadas de SIG Libre, 201546 Diferentes niveles de HA
  • 47. 9ª Jornadas de SIG Libre, 201547 Todo activo
  • 49. 9ª Jornadas de SIG Libre, 201549 Necesidades ● No todas son nuestras, vienen de proyectos para terceros ● Necesidad real de HA ● Usar paradigma Activo-Activo en todos los componentes (HP) ● Cluster con nodos separados geográficamente ● Actualizaciones de la base de datos en tiempo real ● SLA (tiempos de respuesta bajos)
  • 50. 9ª Jornadas de SIG Libre, 201550 Nodo ● Se define un nodo, parte mínima de un cluster: ● Apache (sólo dos nodos) ● Instancia de Jboss en Standalone con HA ● Geoserver (+ JAI + ImageIO) y plugins. ● PostgreSQL + PostGIS ● Un nodo es una unidad funcional, sin relación el resto. ● Si se quiere cambiar una información, se tiene que cambiar en todos -> Se puede hacer Activo-Activo. ● ¿Pero porqué no se hace un cluster de PostgreSQL? ● No hay soluciones maduras Activo-Activo de PostgreSQL, con alto rendimiento en la actualización de tablas.
  • 51. 9ª Jornadas de SIG Libre, 201551 Problemas a solucionar ● Manejar las base de datos -> Hibernate (pero no Hibernate Spatial) ● No permite manejar la base de datos, y hacer carga de datos iniciales. ● Definir JNDI para usarlos directamente con Geoserver ● Configuración entre nodos -> Infinispan ● Base de datos "clave-valor" común a todo el cluster (Jboss nos lo ofrece "gratis"). ● Sincronización de la información de Geoserver -> Librería "Geoserver-manager" ● Desarrollada por GeoSolutions. Permite usar el interfaz REST de control de Geoserver desde Java y permite desplegar cartografía ● Monitorización del estado de los nodos y los componentes -> PandoraFMS
  • 52. 9ª Jornadas de SIG Libre, 201552 Clonación ● Con esta arquitectura es sencillo clonar ● Solo hay que cambiar "hostname", y id del cluster ● Usar backup para dotar de contenido – Geoserver -> Copiar GEOSERVER_DATA_DIR – Desplegar otros WAR... – PostGIS -> pg_dump/pg_restore ● Si queremos añadir un nodo al cluster, solo hay que clonar
  • 53. 9ª Jornadas de SIG Libre, 201553 Easy...
  • 54. 9ª Jornadas de SIG Libre, 201554 Arquitectura mod_clustermod_cluster
  • 56. 9ª Jornadas de SIG Libre, 201556 Escenario de Stress ● 3 Nodos del cluster montados sobre máquinas virtuales Vmware ESXi ● 2 CPU, 4 Gb de RAM ● Ethernet 100 Mbs, compartida con el resto de la oficina ● Ubuntu Server 12.04 LTS (2 nodos) y Windows 7 (1 nodo) ● Jmeter como software de estrés. ● 6 Equipos clientes (Win7) lanzando peticiones simultáneamente contra el cluster
  • 57. 9ª Jornadas de SIG Libre, 201557 Escenario de Stress ● Las pruebas son: ● Peticiones WMS a diferentes BBOX ● Con y sin caché (WMS vs WMTS) ● Una prueba para cartografía vectorial, otra para raster ● Numero de threads en diferentes pruebas: 300 ● Se lanzan en bucles de 250 ● Basadas en las pruebas de stress del FOSS4G
  • 58. 9ª Jornadas de SIG Libre, 201558 Resultados