QoS ガイド

数字の前に配送契約を選ぶ。

QoS は再試行コスト、重複許容、メッセージ価値で決めます。

QoS ガイド

数字の前に配送契約を選ぶ。

QoS は再試行コスト、重複許容、メッセージ価値で決めます。

PUBLISH

最大 1 回

再送より次の値が重要な高頻度 telemetry 向けの fire-and-forget 配送。

  • 確認なし
  • ネットワークコスト最小
  • 適した用途センサーストリーム

Retry cost、duplicate tolerance、latency、message value で QoS を選びます。

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