Mesa Pub/Sub allows you to run multiple instances of your Mesa server while allowing messages to reach clients.
Pub/Sub relies on Redis to forward messages, so you'll need a Redis instance to enable this feature. We support Redis Sentinels for high availability production environments too.
To enable pub/sub, simply supply your Redis URI in your Mesa config:
const mesa = new Mesa({
port: 4000,
redis: 'redis://localhost:6379'
})Messages sent globally via mesa.send or to authenticated clients via client.send or dispatcher.dispatch will now be correctly send to clients regardless of which Mesa server they're connected to.
If you want to run different Mesa servers on the same Redis server without pub/sub, check out namespaces.
We also support more advanced Redis connection options via an object. Interally Mesa uses ioredis to handle Redis connections, so view their connection options to learn more