Guía QoS

Elige el contrato de entrega antes que el número.

QoS es una decisión de producto y operación: coste de reintento, duplicados y valor del mensaje.

Guía QoS

Elige el contrato de entrega antes que el número.

QoS es una decisión de producto y operación: coste de reintento, duplicados y valor del mensaje.

PUBLISH

Como máximo una vez

Entrega sin confirmación para telemetría frecuente donde la siguiente lectura vale más que reintentar.

  • ConfirmacionesNinguna
  • Coste de redMínimo
  • Mejor usoFlujos de sensores

Elige QoS por coste de retry, duplicados, latencia y valor del mensaje.

Decision model

QoS is an operations choice before it is a protocol number.

QoS 0, 1, and 2 trade latency, acknowledgements, retry behavior, and broker work. The right choice depends on how expensive message loss or duplication is for a specific topic.

  • QoS 0 for frequent telemetry that can be replaced by the next sample
  • QoS 1 for commands and alerts where duplicates are acceptable
  • QoS 2 for rare state changes where duplicates are costly
  • Mix QoS levels by topic instead of choosing one globally
Consumer behavior

Design consumers for the QoS level you choose.

QoS 1 can deliver duplicates, so consumers should be idempotent. QoS 2 reduces duplicates at the protocol layer but still requires durable application logic for real systems.

  • Use message IDs or state versioning
  • Make command handlers idempotent
  • Record processed events when side effects matter
  • Test disconnect and reconnect behavior
Cost

Higher QoS increases network and broker work.

Every acknowledgement has a cost. On mobile, satellite, battery-powered, or high-frequency telemetry networks, unnecessary QoS can reduce throughput and increase energy usage.

  • Measure latency with realistic networks
  • Do not use QoS 2 for every telemetry point
  • Document topic-level QoS expectations
  • Test retained and queued messages separately