Earlier this month I've gave a workshop on geoserver clustering
configuration.

Used the JMS cluster community module with a dedicated ActiveMQ broker,
which worked fantastically, great job there.

It loads balance with a dockercloud/haproxy docker container and uses
sticky sessions to access the web UI, so no need to have a dedicated
"master" with UI access. I know there are a thousand topologies you can
use, but this one seemed just so easy for an introductory course and worked
so well that I was impressed.

You can check this docker-compose config [1]

The only pitfall to get it running properly on docker was to change the
activemq server uri to use the 0.0.0.0 IP address, you'll see in the
Dockerfile[2]
"-Dactivemq.transportConnectors.server.uri=\"tcp://0.0.0.0:61666" added to
the CATALINA_OPTS env variable. This is so the server listens on all
interfaces and not just the loopback one 127.0.0.1. It would be great if
the default was changed from 127.0.0.1 to 0.0.0.0

The other trick was to dynamically give each instance a unique id, which is
done in the geoserver instance config by overriding the docker image's
startup comment with "command: /bin/bash -c "instanceName=$$(/bin/hostname)
/usr/local/bin/start.sh"

All in all, I'm really enthusiastic about these community modules and hope
to contribute asap.

Finally, thanks a lot to GeoSolutions for letting me use their
documentation [3] to prepare the workshop's material.

[1] <
https://github.com/groldan/2019_foss4g-ar_taller_geoserver/blob/master/docker/broker_externo_scale/docker-compose.yml
>
[2] <
https://github.com/groldan/2019_foss4g-ar_taller_geoserver/blob/master/docker/broker/Dockerfile
>
[3] <https://geoserver.geo-solutions.it/edu/en/clustering/>
-- 
Gabriel Roldán
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to