Configuring Synchrony for Data Center
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 name | Default | Required | Description |
---|---|---|---|
synchrony.cluster.impl | Yes | This tells Synchrony which mode to run in. For Confluence Data Center this must be set to | |
cluster.listen.port | 5701 | Yes | 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.port | 25500 | Yes | Synchrony uses Aleph to communicate between nodes. This is the Aleph binding port. |
cluster.join.type | multicast | Yes | This tells Hazelcast how to discover nodes. This can be the same as the join configuration for Confluence or different. Values are:
|
cluster.join.multicast.group | 224.2.2.3 | If multicast | If the cluster join type is multicast, specify an IP address for the multicast group, or use the default. |
cluster.join.multicast.port | 54327 | If multicast | If the cluster join type is multicast, specify a multicast port or use the default. |
cluster.join.multicast.ttl | 32 | If multicast | If 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/IP | If the cluster join type is TCP/IP, this is a comma-separated list of IP addresses for each cluster node. | |
cluster.interfaces | 127.0.0.1 | Yes | This is the network interface Synchrony will use to commnunicate between nodes. |
synchrony.cluster.bind | localhost | This is the Aleph binding address. This should be set to the same value as cluster.interfaces . | |
synchrony.database.url | Yes | This 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 | Yes | This is the username of your Confluence database user. | |
synchrony.database.password | Yes | This is the password of your Confluence database user. | |
synchrony.port | 8091 | Yes | This is the HTTP port that Synchrony runs on. If port 8091 is not available, choose a different port. |
synchrony.bind | localhost | Yes | This is the network interface for Synchrony to bind to. This should be set to the same value as synchrony.cluster.bind . |
synchrony.context.path | /synchrony | Yes | This is the context path for Synchrony. There should be no need to change this. |
synchrony.service.url | Yes | This 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 | Yes | This 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 | Yes | This 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: 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.