High Availability for mesibo On-Premise

mesibo On-Premise supports high availability (HA) configurations that keep your service running through server failures, hardware faults, network outages, or data center incidents. This is achieved by running multiple mesibo On-Premise instances, where one or more standby instances automatically take over if the active server becomes unavailable.

mesibo offers the highest form of high availability configuration, known as M+N redundancy, where the M is the number of active servers which will serve your users and N is the number of the standby server that will take over when one of the active servers will fail. This approach provides resiliency against any kind of failure including catastrophic events by adding standby servers across the globe. M & N varies depending on the type of the account, M is currently 1 for on-premise.

Prerequisites

How It Works

When you run multiple mesibo On-Premise instances pointed at the same app token, mesibo automatically designates one as active and the rest as standby. No manual HA configuration is required. If the active server fails, mesibo redirects your users to a standby instance.

Each instance must have a distinct hostname and TLS certificate. If two instances share a hostname and the active one fails, clients may continue trying to connect to the failed host rather than being redirected to the standby. Separate hostnames ensure clean failover.

Mesibo Active Standby Server

Setting Up a High Availability Cluster

Start each mesibo On-Premise instance as you normally would, using the same app token but with a different hostname and certificate for each server:

Active server (mesibo1.example.com):

$ sudo docker run -v /etc/letsencrypt/archive/mesibo1.example.com:/certs --net=host \
    --ipc=host --name mesibo --rm -d mesibo/mesibo <APP_TOKEN>

Standby server (mesibo2.example.com):

$ sudo docker run -v /etc/letsencrypt/archive/mesibo2.example.com:/certs --net=host \
    --ipc=host --name mesibo --rm -d mesibo/mesibo <APP_TOKEN>

Check the logs on each instance to confirm which is active and which is on standby:

$ sudo docker logs mesibo

The standby instance will indicate it is in standby mode and monitoring the active server.

Database Considerations

Running multiple mesibo On-Premise instances against a single MySQL server is not a complete HA solution — the database remains a single point of failure. For a fully resilient deployment, configure MySQL in one of the following ways:

  • Primary-replica replication — Provides read scalability and a warm replica for manual failover. Suitable for most deployments.
  • MySQL Group Replication or InnoDB Cluster — Provides automatic failover at the database layer. Recommended for deployments requiring minimal recovery time.

Refer to the MySQL High Availability documentationopen_in_new for setup guidance.

Testing Failover

To verify your HA configuration is working:

  1. Start two mesibo On-Premise instances on separate servers with different hostnames, both using the same app token.
  2. Confirm from the logs that one is active and the other is on standby.
  3. Connect a few clients — they should connect to the active instance.
  4. Stop the active instance.
  5. Watch the standby instance's logs — it should transition to active within a few seconds.
  6. Clients that were connected to the previous active server will retry and reconnect to the new active instance after a short delay.

If clients do not reconnect, verify that the hostnames and DNS entries are configured correctly and that the standby instance's certificate is valid for its hostname.