Scaling a notary cluster

As described in the Corda Enterprise notary service overview, a HA notary cluster is made up of two main components, each of which can be scaled up or down to facilitate the operators needs.

A notary Corda node can be added or removed to horizontally scale the worker cluster. This involves adding a new worker node along with an accompanying DB. Note that this is separate from scaling the DB cluster - see section below on Scaling up the DB cluster for more information.

Scaling the worker cluster can have several benefits:

  • Possibly performance increase - If the bottleneck in the system is the speed at which the workers can process and relay the messages to

the DB cluster, then adding a worker node can increase performance.

  • Increased resiliency - More worker nodes means increased tolerance to single node failures.

A large cluster can also have some drawbacks, mainly:

  • Increasing bottleneck - If the underlying DB cluster is the bottleneck in the system then adding another worker node will not improve

performance, and could even hinder it via increasing the requests to the DB.

  • Unnecessary cost and maintenance - A large cluster can increase the running costs and maintenance without providing any significant improvement in performance or resiliency.
  • Setup the worker’s individual DB
  • Copy the notary identity key store over to the new node to ensure the worker shares the same service identity as the other workers.
  • Ensure the node configuration specifies the shared Notaries service legal name.
  • Register with the identity manager.
  • Start the node.

As the HA Notary is designed to be able to handle notary worker nodes going down, removing a worker is simply a case of tearing down the node and associated DB (not the DB cluster).

Alternatively, the underlying DB cluster can be scaled up and down. In general, scaling the DB cluster up will increase resiliency, but at the cost of decreased performance. Detailed steps to achieve this is out of scope for this document. Please refer to the documentation of the underlying DB cluster provider.

Was this page helpful?

Thanks for your feedback!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.

We're sorry this page wasn't helpful. Let us know how we can make it better!

Chat with us

Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.

Create an issue

Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.

Propose documentation improvements directly

Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.