Configuring Synchrony for Data Center

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

When you install Confluence Server, Synchrony is automatically configured to run as a seperate process on your server.

For Confluence Data Center, we give you full control by allowing you to set Synchrony up yourself.  This gives you the flexibility to deploy Synchrony on the same nodes as Confluence, or in its own cluster with as many nodes as you need. 

When you start Synchrony, you'll pass a number of system properties to tell Synchrony how to discover nodes in your cluster, where to find your Confluence database and more. System properties are set by passing the -D flag to the Java virtual machine in which Synchrony is running. 

Sensitive information (like database credentials) may be provided using environmental variables (rather than via the command line). Any dots (".") in variable names (identifiers) will need to be replaced with underscores ("_"). 

See Installing Confluence Data Center for a step by step guide to setting up Synchrony for Data Center. 

Synchrony system properties (Data Center only)

The table below describes each property, and its suggested values. 

Property nameDefaultRequiredDescription
synchrony.cluster.impl Yes

This tells Synchrony which mode to run in. For Confluence Data Center this must be set to hazelcast-btf

cluster.listen.port5701Yes

This is Synchrony's Hazelcast port. If port 5701 is not available, choose a different port.

As with the Confluence Hazelcast port (5801) you should ensure that only permitted cluster nodes are allowed to connect to Synchrony's Hazelcast port, through the use of a firewall and or network segregation.

synchrony.cluster.base.port25500YesSynchrony uses Aleph to communicate between nodes. This is the Aleph binding port.
cluster.join.typemulticastYes

This tells Hazelcast how to discover nodes. This can be the same as the join configuration for Confluence or different. Values are:

  • multicast
  • tcpip
cluster.join.multicast.group224.2.2.3If multicastIf the cluster join type is multicast, specify an IP address for the multicast group, or use the default.
cluster.join.multicast.port54327If multicastIf the cluster join type is multicast, specify a multicast port or use the default.
cluster.join.multicast.ttl32If multicastIf the cluster join type is multicast, this is the time to live threshold. The default, 32, means the scope is restricted to the same site, organization or department.
cluster.join.tcpip.members If TCP/IPIf the cluster join type is TCP/IP, this is a comma-separated list of IP addresses for each cluster node.
cluster.interfaces127.0.0.1YesThis is the network interface Synchrony will use to commnunicate between nodes.
synchrony.cluster.bindlocalhost This is the Aleph binding address. This should be set to the same value as cluster.interfaces.  
synchrony.database.url YesThis is the URL for your Confluence database. For example jdbc:postgresql://localhost:5432/confluence. You can find this URL in <local-home>/confluence.cfg.xml.
synchrony.database.username YesThis is the username of your Confluence database user.
synchrony.database.password YesThis is the password of your Confluence database user.
synchrony.port8091YesThis is the HTTP port that Synchrony runs on. If port 8091 is not available, choose a different port.
synchrony.bindlocalhostYesThis is the network interface for Synchrony to bind to. This should be set to the same value as synchrony.cluster.bind.
synchrony.context.path/synchronyYesThis is the context path for Synchrony. There should be no need to change this.
synchrony.service.url YesThis is the full URL of the load balancer you've configured Synchrony to run behind for example, http://<lb_host>:<lb_port><lb_context_path>. If this URL doesn't match the URL coming from a users' browser Synchrony will fail.
jwt.private.key YesThis key is generated by Confluence. You can copy this key from the <local-home>/confluence.cfg.xml file on your first Confluence node. This key will be the same on all Confluence and Synchrony nodes.
jwt.public.key YesThis key is generated by Confluence. You can copy this key from the <local-home>/confluence.cfg.xml file on your first Confluence node. This key will be the same on all Confluence and Synchrony nodes.
classpath Yes

This is the path to the Synchrony jar file, followed by the path to your database driver. If you're running Synchrony on its own node, you'll need to copy your database driver to an appropriate location then provide the path to this location.

For Linux the syntax is:
<PATH_TO_SYNCHRONY_STANDALONE_JAR>:<JDBC_DRIVER_PATH>

For Windows, the syntax is:

<PATH_TO_SYNCHRONY_STANDALONE_JAR>;<JDBC_DRIVER_PATH>

 

If your users are unlikely to be able to get a WebSocket connection to Synchrony (for example your load balancer or reverse proxy does not support WebSockets) you can enable XHR fallback by passing the synchrony.enable.xhr.fallback system property to Confluence. Note that this is a Confluence system property and must be passed to Confluence, it is not part of your start Synchrony command. 

Last modified on Oct 25, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.