Skip to content

Glossary

ACL (access control list) — per-user rules about which topics a client may publish or subscribe to. Passwords decide who connects; ACLs decide what they may touch.

Broker — the server in the middle. Accepts published messages and forwards them to subscribers. This guide's broker is Mosquitto.

Clean session — connecting with a clean slate: the broker forgets your subscriptions and anything queued. Turn it off (-c to mosquitto_sub) and your session survives disconnects.

Client — anything that connects to a broker: a program, a sensor, a phone app. Clients publish, subscribe, or both.

Client ID — a client's name tag with the broker. Sessions are keyed to it; two clients sharing one ID kick each other off.

Keepalive — a timer on the connection. If a client is silent too long (about 1.5× the interval), the broker declares it gone — and publishes its will.

Last Will and Testament (LWT) — a message a client registers at connect time, which the broker publishes on its behalf only if the client disconnects ungracefully.

mosquitto — the broker. Also the name of the whole project, which includes the command-line clients.

mosquitto_pub / mosquitto_sub — the project's command-line clients: publish one message, or subscribe and print. This guide's test instruments.

mosquitto_passwd — the tool that creates and edits the broker's password file (salted hashes, never plain text).

paho-mqtt — the Eclipse Paho client library for Python; the guide's code chapters use it.

Payload — the body of a message. Untyped bytes as far as the broker is concerned: 21.5, on, or a line of JSON are all the same to it.

Publish — sending a message to a topic.

QoS (Quality of Service) — the delivery promise on a message: 0 = at most once, 1 = at least once (duplicates possible), 2 = exactly once, paid for with a four-packet handshake.

Retained message — a message the broker keeps (one per topic) and hands to every new subscriber immediately. Cleared by a retained publish with an empty payload.

Session — what the broker remembers about a client ID across disconnects: its subscriptions and (for QoS 1/2) messages queued while it was away.

Subscribe — registering interest in a topic (or a wildcard filter); the broker forwards matching messages for as long as the session lasts.

$SYS — the broker's own topics ($SYS/broker/uptime and friends): its diary of itself, subscribable like any other tree but never matched by root wildcards.

Topic — the channel a message is published to: slash-separated levels, broad to specific (home/kitchen/temperature). Matching is exact and case-sensitive unless the subscription uses wildcards.

Wildcard — subscription-only pattern matching: + stands for exactly one topic level, # (final level only) for everything below.