Public | Automated Build

Last pushed: 3 years ago
Short Description
Short description is empty for this repo.
Full Description

Atlassian Confluence Witness Server

A Docker container that provides a witness server for a high-availability (HA) Confluence cluster involving a Hot "normal" server (aka R/W Confluence) and a Hot Read-Only server (aka R/O Confluence).

In this HA cluster, both servers are hot, and both have their own DB (the DBs and home-dirs are sync'd nightly).

The idea is for the R/W server to take 100% of the load unless it is down (due to failure or being upgraded).

If the R/W is down, the R/O should take 100% of the load, but should be configured to prevent users from writing new content (editing, commenting, blogging, etc.)

Such a cluster provides a nice supplement to Confluence "Data Center" because it can continue to provide partial availability during a Data Center upgrade.

Data Center is true clustered environment that provides high-available and high-performance (at a commensurately high price). Because all nodes in a DC cluster use the same DB, one thing Data Center can't yet handle is a rolling upgrade. Instead, all nodes must be brought down for an upgrade.

A R/W-R/O cluster can be leveraged to provide partial, read-only service during a DC cluster upgrade and failover in the case the R/W DB goes down.

The witness Server is designed to be run on each Confluence host (R/W and R/O) behind an AWS ELB. An AWS ELB is HA (good), but not very configurable (bad). The type of routing needed for this HA cluster is not achievable w/out resorting to a witness (at least we haven't been able to figure out an alternative).

An AWS ELB uses the witness output to direct traffic to either the R/W Confluence or the R/O Confluence based on the state of R/W Confluence.

Provision a Confluence Host

Container is run on both the R/W Host and the R/O Host and is

provisioned via the <nordstrom stash>/OPSETS/confluence-stack/src/load.py pipeline script

Docker Pull Command
Owner
nordstromsets