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