Skip to content

Messaging

Managed MQTT broker on your own cluster

MQTT 3.1.1 and 5.0 over TCP and WebSocket for devices, mobile apps and anything publishing over an unreliable link. Runs EMQX.

Created inside a project, beside the apps that use it. Each project gets its own instance, storage and credentials.

A recent addition. It installs today, and the console marks it as new until it has run on a customer's cluster.

01What it does

MQTT broker, run for you

EMQX on the vendor's chart, with its dashboard.

For the clients that are not servers: devices, mobile apps, and anything publishing over a link that drops. EMQX speaks MQTT 3.1.1 and 5.0 over TCP and WebSocket, and bound apps get both ports beside the username and password.

Each connected client and each message in flight costs a little memory, which is what the size buys. The disk holds retained messages, the client database and the broker's own settings. The dashboard can be published on a hostname, and both client ports can be opened on a public cluster, which is where devices in the field need them.

02Options

What you choose

What the console asks when you create it, in the catalog's own numbers. Anything marked chosen once cannot change without creating a new instance.

Sizes
small 512Mi, medium 1Gi, large 2Gi of memory
Storage
2Gi by default, chosen once
Hostname
The dashboard (18083) can be published on a domain
Public ports
MQTT (1883) and MQTT over WebSocket (8083) can be opened on a public cluster
Pause
Yes; the volume is kept

03Binding

What your app receives

Bind it to an app and these arrive as environment variables. The values are generated once into a secret and reach the app from there, rather than as something you copy.

  • MQTT_HOST
  • MQTT_PORT
  • MQTT_WS_PORT
  • MQTT_USERNAME
  • MQTT_PASSWORD
  • MQTT_URL

04Adding it

Add MQTT broker to a project

The same four steps as every service in the catalog.

  1. 01Open a project and go to Services.
  2. 02Pick it from the catalog and choose its options. Only the size is required; everything else has a default.
  3. 03Create it. Anyport installs it into the project's namespace, generates its credentials into a secret there, and tracks its health.
  4. 04Bind it to an app. The connection details arrive as environment variables, and rotating the credential never means editing an app.

Also under Messaging