opHA-MB 5.0 Release notes
Contents
Introduction
opHA-MB 5.0 introduces the concept of using a Message Bus to transfer data between opHA servers, as an alternative to the Web Service used to transfer data in earlier releases.
opHA-MB 5.0 uses one or more Primary & one or more Peer servers and a Message Bus:
A Primary is a server that keeps the information of all the Peers and it is where we can read all the information from.
The Consumer (ophad running on Primarys) reads data continuously off the Message Bus and stores it in the database
The Producer (ophad running on Peers) has a change stream setup for the collections and receives update from the database if there is any. This change stream data is pushed onto the Message Bus.
Here are new terms used in opHA 5 together with their meanings.
Term | Meaning |
---|---|
Message Bus | A message bus provides a messaging infrastructure for one or more applications to deliver messages to one or more other applications. |
ophad | ophad is the daemon for opHA Message Bus, which opHA uses to communicate with a Message Bus. |
Producer | an instance of the ophad process running in 'producer' mode (as per configuration). This will typically be running on the same server instances as the primary. |
Consumer | an instance of the ophad process running in 'consumer' mode (as per configuration). This will typically be running on the same server instance as the poller (or mirror) |
NATS | nats.io is an open-source product that is used as a Message Bus |
Installation Instructions
opHA with Message Bus opHA-MB 5.0 Installation (Non-Replication)
opHA with Message Bus with replication enabled opHA-MB 5.0 Installation (Replication)
Releases
opHA Message Bus 5.0.0
RELEASED 8 November 2024
The opHA 5.0.0 features include
A single installer that installs and configures opHA and the nats.io Message Bus product in either replicated or non-replicated node.
Non replicated mode is when the setup has a single Primary, the Main Primary. A single instance of NATS service and a single instance of Mongodb is run on the Main Primary.
Replicated mode is when both Mongodb on Primary and NATS needs to be replicated. Replicated mode can tolerate the failure of the Main Primary. To this end the installer is used to set up a Main Primary and at least one Secondary Primary.
In replicated mode, three instances of NATS are needed to be running to tolerate a one node failure. Main Primary and Secondary Primary runs an instance of NATS each. A Poller can be used to run the third instance.
Like wise mongodb is run as a primary mongodb instance on Main Primary. Secondary Primary runs a replica as a secondary mongodb instance. The third instance of mongodb is run as an arbiter and can be run on one of the Poller where NATS is run.