Closed ric-x closed 3 years ago
It sounds like you are trying to use Connect in a multi-node cluster with load balancer in front. If that is the case, you pretty much have to use the Advanced Clustering plugin which is available to our Platinum subscribers.
We used the postgres-with-2-connect-servers-in-cluster.yml as a base to create ours (see below) with three containers. We access through the haproxy and odd behavior is noticeable in the Admin GUI. Channels will blink channels that we are working on changes... my Mirth Developer with a good bit of experience calls it "sketchy" or "glitchy" ... Noted this thread in the forums:
https://www.mirthcorp.com/community/forums/showthread.php?t=217676&highlight=haproxy
The only response was "use your HAProxy to Load Balance or whatever the INTERFACES... use the IP of the mirth engines to get to the admin interface separately - without the proxy in the way. "
So just how do you achieve that connection with mirth engines as docker containers using the admin GUI given they are behind the haproxy?
Best Regards,
Ric Cross
From da logs... Running OpenJDK 64-Bit Server VM 11.0.6 on Linux (3.10.0-1062.18.1.el7.x86_64, amd64), mysql, with charset UTF-8. Mirth Connect 3.8.1 (Built on September 12, 2019) server successfully started.
/opt/docker-volume/mirth-deploy.yaml version: '3.3' services: mc1: image: XXXXX/connect:latest environment: DATABASE: mysql DATABASE_URL: 'jdbc:mysql://10.11.11.11:3306/env_mirth' DATABASE_MAX_CONNECTIONS: 30 DATABASE_USERNAME: env_mirth DATABASE_PASSWORD: 'NunYaBusiness' KEYSTORE_STOREPASS: 'docker_storepass' KEYSTORE_KEYPASS: 'docker_keypass' SESSION_STORE: 'true' VMOPTIONS: -Xmx512m SERVER_URL: mirth.XXXXX.com volumes:
8441:8443/tcp
mc2: image: XXXXX/connect:latest environment: DATABASE: mysql DATABASE_URL: 'jdbc:mysql://10.11.11.11:3306/env_mirth' DATABASE_MAX_CONNECTIONS: 30 DATABASE_USERNAME: env_mirth DATABASE_PASSWORD: 'NunYaBusiness' KEYSTORE_STOREPASS: 'docker_storepass' KEYSTORE_KEYPASS: 'docker_keypass' SESSION_STORE: 'true' VMOPTIONS: -Xmx512m SERVER_URL: mirth.XXXXX.com volumes:
8442:8443/tcp
mc3: image: XXXXX/connect:latest environment: DATABASE: mysql DATABASE_URL: 'jdbc:mysql://10.11.11.11:3306/env_mirth' DATABASE_MAX_CONNECTIONS: 30 DATABASE_USERNAME: env_mirth DATABASE_PASSWORD: 'NunYaBusiness' KEYSTORE_STOREPASS: 'docker_storepass' KEYSTORE_KEYPASS: 'docker_keypass' SESSION_STORE: 'true' VMOPTIONS: -Xmx512m SERVER_URL: mirth.XXXXX.com volumes:
8443:8443/tcp
haproxy: image: haproxy ports:
/opt/docker-volume/haproxy/haproxy.cfg defaults mode tcp option log-health-checks option redispatch retries 3 timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout check 10s maxconn 3000 backend mcserver-http balance roundrobin server mc1-http mc1:8080 check server mc2-http mc2:8080 check server mc3-http mc3:8080 check frontend mc-http bind :8080 default_backend mcserver-http backend mcserver-https balance roundrobin server mc1-https mc1:8443 check server mc2-https mc2:8443 check server mc3-https mc3:8443 check frontend mc-https bind :8443 default_backend mcserver-https backend mcserver-9001 balance roundrobin server mc1-9001 mc1:9001 check server mc2-9001 mc2:9001 check server mc3-9001 mc3:9001 check frontend mc-9001 bind *:9001 default_backend mcserver-9001