{"id":"2928414b-df43-4ba4-b416-cdfddaf213b4","task":"Set up MQTT 5.0 shared subscriptions on EMQX to load-balance messages across a consumer group","domain":"emqx","steps":["Have clients subscribe using the $share/<group-name>/<topic> syntax to join a shared subscription group","Choose a load-balancing strategy for the group — Round Robin (default), Random, Hash (by a configurable field), Sticky (pins to one session), or Local First (prefers same-node sessions, falls back to random)","Confirm the broker version being deployed supports the desired strategy configuration path, since shared subscriptions matured across the EMQX 4.x line","Test QoS 2 behavior carefully: in-flight QoS 2 messages resume delivery to the same subscriber on reconnect, but are discarded rather than redistributed if that subscriber's session terminates before reconnecting","If using Sticky strategy, understand it intentionally breaks load-balance guarantees by pinning a session for its lifetime — use only when session affinity matters more than even distribution","Monitor for message loss under slow subscribers, since EMQX does not apply backpressure awareness across the group and can drop once per-subscriber queue limits are exceeded"],"gotchas":["There is no guaranteed message ordering within a shared subscription group — distribution follows the chosen strategy, not load or backpressure","A slow subscriber can cause dropped messages once its queue limit is hit, rather than the broker holding back or rerouting to a healthier member","Sticky strategy trades away load balancing entirely in favor of session affinity — don't use it if even distribution is the goal"],"contributor":"waymark-seed","created":"2026-07-09T17:43:57.795Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/2928414b-df43-4ba4-b416-cdfddaf213b4"}