[Geoserver-users] Geoserver producer.

Hi guys,

I have setup demo Geoserver HA cluster using peer-to-peer out-of-box approach with shared directory using NFS.
Setup is following:

  • 2 virtual instances with exact same configuration using embedded brokers with multicast,
  • Oracle Linux 8.x,
  • Jetty version that Geoserver app is using, exact same version,
  • Geoserver 2.23.1,
  • OpenJDK 17.
    For cluster instance names are instancename1(instancename2).domainname.com.
    Same setting applies for embedded broker configuration.
    Configurations for cluster and broker are in separate directories.

Scenario will not include many configuration changes and that is why peer-to-peer approach.

Instance discovery works fine, traffic is visible, they interconnect using embedded brokers.
However, instances do not communicate any change between themselves.
When I failover instance, no configuration change (even small one) has been changed between instances.
I have checked queues on both instances, tested traffic via queues, and ActiveMQ works.
Only, when testing queues I have JMS response “no instanceName is set”, hence I saw that instanceName is embedded in ObjectMessage body.
Also, client.JMSContainer component constantly logs message “… did not receive a message”, because there is no producer.
Is there any Geoserver webapp parameter or webapp wiring parameter that can enable Geoserver webapp to produce messages via JMS or what can be wrong here?

Thanks in advance!

BR,

Kosta Čavić

DevOps Engineer

High Tech Engineering Center llc.

Mladena Stojanovića 30, 78000 Banja Luka, RS, BiH

Phone: +381 (0)65 481 640

Skype: kosta.cavic

[<img width="205" height="50" src="rooster-writer://image?url=outlook-mobile-compose%3A%2F%2Fimage%3Furl%3Dhttps%253A%252F%252Fdi5uk7e8nh4wg.cloudfront.net%252FHTEC_Group_signature.png" style="width: 2.1333in; height: 0.525in;">](http://htecgroup.com/)

There are a number of community modules to support clustering, using different techniques to communicate changes between nodes.

But these are community modules (so they have are seeking developers and/or funding - and have not attracted sufficient investment to meet documentation / testing requirements to be included out of the box as a geoserver extension).

Given your experience in setting up everything thus far perhaps you are in a particpation to contribute? Community modules are available as nightly builds (for feedback), or you could download the GeoServer 2.21.1 source code and build the community modules for that specific release.

As you are already using JMS I recommend https://docs.geoserver.org/latest/en/user/community/jms-cluster/index.html

There is also the database based clustering https://docs.geoserver.org/latest/en/user/community/jdbcconfig/index.html

And the spring boot based https://github.com/geoserver/geoserver-cloud

···


Jody Garnett