Skip to content

Commit 2e09408

Browse files
Update overview-broker.md
1 parent b2647b9 commit 2e09408

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

articles/iot-operations/manage-mqtt-broker/overview-broker.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,20 @@ The MQTT broker underpins the messaging layer in IoT Operations and supports bot
2727

2828
## Architecture
2929

30-
The MQTT broker has three layers:
30+
The MQTT broker has four major components:
3131

32-
- Load balancer that routes requests and connects the broker to others
33-
- Stateless frontend layer that handles client requests
34-
- Stateful and sharded backend layer that stores and processes data
32+
- Stateless frontend layer.
33+
- Stateful and sharded backend layer.
34+
- Kubernetes operator.
35+
- Health manager.
3536

36-
The backend layer partitions data by different keys, such as client ID for client sessions, and topic name for topic messages. It uses chain replication to replicate data within each partition. For data that's shared by all partitions, it uses a single chain that spans all the partitions.
37+
The frontend layer handles client connections and requests and routes them to the backend. The backend layer partitions data by different keys, such as client ID for client sessions, and topic name for topic messages. It uses chain replication to replicate data within each partition. [Kubernetes operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) manages custom resources lifecycle. Health manager facilitates failure handling and recovery of backend and frontend pods.
3738

3839
The goals of the architecture are:
3940

40-
- **Fault tolerance and isolation**: Message publishing continues if backend nodes fail and prevents failures from propagating to the rest of the system
41+
- **Fault tolerance and isolation**: Message publishing continues if backend pods fail and prevents failures from propagating to the rest of the system
4142
- **Failure recovery**: Automatic failure recovery without operator intervention
42-
- **No message loss**: Delivery of messages if at least one front-end node and one backend node is running
43+
- **No message loss**: Delivery of messages if at least one front-end pod and one backend pod in a partition is running
4344
- **Elastic scaling**: Horizontal scaling of publishing and subscribing throughput to support edge and cloud deployments
4445
- **Consistent performance at scale**: Limit message latency overhead due to chain-replication
4546
- **Operational simplicity**: Minimum dependency on external components to simplify maintenance and complexity

0 commit comments

Comments
 (0)