Multiple SymmetricDS instances at same host

I’m looking at running multiple SymmetricDS instances to do replication between different environments independently, e.g. Oracle Test -> Postgres Test, Oracle Dev -> Postgres Dev. The instances will run in Docker containers in a Mesos cluster, possibly at the same host. I see that SymmetricDS store the sync.url in the SYM_NODE table. Since I’ve up to now only have had one SymmetricDS instance, the port is hard coded in the engine/*.properties files:

# master-000.properties
sync.url=http://$(ipAddress):31415/sync/master-000
# slave-001.properties
registration.url=http://$(ipAddress):31415/sync/master-000

Could this potentially cause problems, since the sync.url will be identical for both instances?

  • Why is this docker image allowed past the firewall?
  • Docker containers clustering
  • How can I use an ephemeral volume for a Docker container using an official MySQL image with docker-compose?
  • permission issue with docker under windows
  • Docker - Updating Environment Variables of a Container
  • What are advantages of writing script file in Docker?
  • AspnetPublishHandler with name “Custom” was not found when publishing ASP.NET 5 project to Docker
  • Docker-swarm error: read-only file system
  • lstate error: no such file or directory while building Docker from a custom image with Docker build command
  • Does the GOGS Docker Container run an SSH Daemon?
  • What is the standard way to move docker volume around servers?
  • Unable to connect to Docker Nginx build
  • 2 Solutions collect form web for “Multiple SymmetricDS instances at same host”

    You can run multiple SymmetricDS nodes in the same instance. It is called multi-homing. All you do is simply add multiple .properties files under the engines directory. You distinguish between the two nodes using different engine.name parameters which show up in the sync.url.

    The sync.url is:

    http://{symmetricds installation host name or dns name}:{symmetricds port configured in symmmetric-server.properties}/sync/{engine.name}

    If you don’t need to reach the SymmetricDS process from outside the Docker container, both instances can use the same port(s). Just make sure to run the Docker container in Bridge mode (not Host), and don’t expose any ports.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.