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

  1. Geoserver y PostGIS en producción
  2. Alta disponibilidad con OSS
  3. 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%

  1. Solo lectura
  2. Backoffice
  3. 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