Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Víctor González
victor.gonzalez@geomati.co
Martí Pericay
marti.pericay@geomati.co
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
- Geoserver y PostGIS en producción
- Alta disponibilidad con OSS
- En la nube: Amazon Web Service y Docker
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
CLUSTERING
(varios nodos)
BAJO RENDIMIENTO (un nodo)
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
- Tuning (Running a production environment, Geoserver on Steroids)
- Tiling (GeoWebCache)
- Optimizar queries (indexar, vistas materializadas)
- Tuning (PostGIS Tuning for Spatial)
- Monitorear
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Cuando clusterizar?
- Alta disponibilidad
99,9% = 43.8 minutos/mes u 8,76 horas/año ("tres nueves")
99,99% = 4.38 minutos/mes o 52.6 minutos/año ("cuatro nueves")
99,999% = 0.44 minutos/mes o 5.26 minutos/año ("cinco nueves")
- Escalabilidad (picos de visitas, crecimiento)
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Balanceador de carga
N1
N2
N3
N4
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Balanceador de carga
N1
N2
N3
N4
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
0% 100%
- Solo lectura
- Backoffice
- Lectura y escritura
Cluster Activo - Pasivo
Cold/Warm/Hot Standby
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
50% 50%
Solo lectura
Cluster Activo - Activo
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
50% read 50% read
Cluster Activo - Activo
100% write
Read replicas
Master
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Streaming replication PostgreSQL
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
50% read 50% read
Multimaster
50% write 50% write
Master 2
Master 1
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
PostgreSQL
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
PostgreSQL
pgpool-II 3.7.3: middleware balanceador, adecuado para write master + read replicas
Postgres-XL 9.5: fork, multimaster, GIS geospatial, soportado por 2nd Quadrant
CITUS 7.4: extensión, no hay balanceador en Community, soportado por Citusdata
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Geoserver
Passive clustering: varios nodos comparten GEOSERVER_DATA_DIR y recargan catálogo
Active clustering: extensión MOM (Message Oriented Middleware)
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
- Built on top of Docker's official tomcat image.
- Taken care of JVM Options.
- Separate GEOSERVER_DATA_DIR location.
- CORS ready.
- Automatic installation of Native JAI and Image IO for better performance.
- Configurable extensions (at runtime, not at build time!)
Desplegando GeoServer y PostGIS en alta disponibilidad y en la nube
CloudWatch
Muchas gracias!
Víctor González
victor.gonzalez@geomati.co
Martí Pericay
marti.pericay@geomati.co
Girona 2018
By mpericay
Girona 2018
- 845