opHA-MB 5.0 Release Notes

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

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.1.0 Upgrade (Non-Replication)

opHA with Message Bus with replication enabled opHA-MB 5.1.0 Installation (Replication)

Releases

opHA Message Bus 5.1.2

RELEASED 1 Dec 2025

Bug Fixes

  • Fixed ophad failure on restart issue when one of the Mongodb servers goes down in the replicated mode.

opHA Message Bus 5.1.1

RELEASED 24 Oct 2025

Improvements

  • Dependency Upgrades: Upgraded ophad to Go 1.24.7 and nats-server to 2.11.9 for improved resource usage and performance.Upgraded ophad binary version to use go 1.24.7 (from go 1.21)

  • opHA Portal Enhancements: Added message bus connectivity status information to help visualize which parts of the message bus are connected and view current system health.

Bug Fixes

  • Fixed an issue related to nats connectivity issue on retries.

  • Fixed an issue where graphs would not display when switchover to mirror occurs. Now the appropriate cluster_id (that of Mirror) is used for displaying graphs in opCharts

opHA Message Bus 5.1.0

RELEASED 28 July 2025

Improvements

  • Stream Batching: the change stream data is batched and compressed at source (i.e in the Peer) and sent to Primary and pushed to the database as a chunk thereby improving efficiency

  • opHA-MB for Events: supports changes done on Primary to be synced back to the corresponding Peer.

  • Installer has been enhanced to both upgrade from opHA 4.0 and also a direct install of opHA 5.1

Bug Fixes

  • Fix duplicate nodes when switchover happens from Poller to Mirror and then back to Poller

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 server failure on the Message Bus. The Main Primary and Secondary Primary run an instance of NATS each. A Poller can be used to run the third instance.
    Likewise 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 Pollers.