docs/static/v0.6/concepts/architecture/broker/index.html
Broker is a custom Kubernetes controller that provides data streaming across independent components of Meshery whether those components are running inside or outside of the Kubernetes cluster.
It is recommended to run one broker instance for each kubernetes cluster, However the instance itself can be scaled up based on the incoming data volume in each of the cluster. The scaling is independent of the number of instances running.
We leverage on the kubernetes functionality in terms of the High-Availability behaviour. Meaning, the broker instance gets instantiated/restarted on its own when an issue occurs. In part, Meshery-Operator is also responsible for keeping the broker functional.
All the messages that are published to the broker is persisted in-memory within the broker instance until it get consumed. Persistent-volume/Disk-space is not currently being used by the Broker.
The Broker instance is deployed inside the kubernetes cluster as a Statefulset. In the case where the broker doesn’t seem to work, here are a few steps to troubleshoot the instance:
Statefulset is up and running.Service type LoadBalancer or NodePort.