This flow shows how a publisher sends a message to a broker, which then forwards it to all subscribers of the topic.
Execution Sample
IOT Protocols
Publisher -> Broker: Publish 'temp/room1' = 22°C
Broker -> Subscribers: Forward 'temp/room1' = 22°C
Subscriber: Receive and process message
A publisher sends a temperature message to the broker, which forwards it to all subscribers of 'temp/room1'.
Process Table
Step
Action
Topic
Message
Broker State
Subscribers Notified
1
Publisher sends message
temp/room1
22°C
Message received
None yet
2
Broker checks topic
temp/room1
22°C
Topic found with 2 subscribers
None yet
3
Broker forwards message
temp/room1
22°C
Message forwarded to subscribers
Subscriber A, Subscriber B
4
Subscribers receive message
temp/room1
22°C
No change
Subscriber A processes, Subscriber B processes
5
Subscribers process message
temp/room1
22°C
No change
Processing complete
💡 Message delivered to all subscribers; process complete.
Status Tracker
Variable
Start
After Step 1
After Step 2
After Step 3
After Step 4
Final
Message
None
22°C
22°C
22°C
22°C
22°C
Broker Queue
Empty
22°C received
Checked topic
Forwarded message
Empty
Empty
Subscribers Notified
None
None
None
Subscriber A, Subscriber B
Received message
Processed message
Key Moments - 3 Insights
Why does the broker need to check the topic before forwarding?
The broker checks the topic to know which subscribers are interested. Without this, it wouldn't know where to send the message. See execution_table step 2.
Do subscribers get the message directly from the publisher?
No, subscribers get messages only from the broker, not directly from the publisher. The broker manages message delivery. See execution_table steps 1 and 3.
What happens if no subscribers exist for a topic?
The broker receives the message but finds no subscribers to forward to, so the message is discarded or stored depending on configuration. This is implied in step 2 if subscriber count is zero.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, at which step does the broker forward the message to subscribers?
AStep 2
BStep 3
CStep 4
DStep 1
💡 Hint
Check the 'Action' and 'Subscribers Notified' columns in execution_table row for step 3.
According to variable_tracker, what is the state of the broker queue after step 3?
AEmpty
BChecked topic
CForwarded message
D22°C received
💡 Hint
Look at the 'Broker Queue' row and the column 'After Step 3' in variable_tracker.
If a new subscriber joins after step 3, how would the broker's behavior change?
ABroker ignores new subscriber for past messages
BBroker deletes all messages
CBroker forwards message to the new subscriber immediately
DBroker sends message back to publisher
💡 Hint
Consider that messages are forwarded only to subscribers registered at the time of forwarding (see execution_table step 3).
Concept Snapshot
Publish-subscribe architecture:
- Publishers send messages to a broker on topics.
- Broker forwards messages to all subscribers of those topics.
- Subscribers receive messages only from the broker.
- Decouples senders and receivers for flexible communication.
- Broker manages message routing and delivery.
Full Transcript
In publish-subscribe architecture, a publisher sends a message to a broker on a specific topic. The broker receives the message and checks which subscribers are registered for that topic. Then, the broker forwards the message to all those subscribers. Subscribers receive and process the message. This system allows many publishers and subscribers to communicate without knowing each other directly. The broker acts as a middleman managing message delivery based on topics.
Practice
(1/5)
1. What is the main role of a broker in a publish-subscribe architecture?
easy
A. To receive messages from publishers and forward them to subscribers
B. To directly connect publishers and subscribers
C. To store all messages permanently
D. To encrypt messages between devices
Solution
Step 1: Understand the broker's function
The broker acts as a middleman that receives messages from publishers.
Step 2: Identify message forwarding role
The broker forwards these messages to subscribers interested in specific topics.
Final Answer:
To receive messages from publishers and forward them to subscribers -> Option A
Quick Check:
Broker forwards messages [OK]
Hint: Broker forwards messages, it doesn't connect devices directly [OK]
Common Mistakes:
Thinking broker connects devices directly
Assuming broker stores messages permanently
Confusing broker with encryption service
2. Which of the following is the correct way to describe a topic in publish-subscribe?
easy
A. A label used to organize messages for subscribers
B. A direct connection between two devices
C. A security protocol for message encryption
D. A device that publishes messages
Solution
Step 1: Define what a topic is
A topic is a label or category that organizes messages so subscribers receive only relevant ones.
Step 2: Eliminate incorrect options
Topics are not connections, security protocols, or devices.
Final Answer:
A label used to organize messages for subscribers -> Option A
Quick Check:
Topic organizes messages [OK]
Hint: Topics organize messages, not devices or connections [OK]
Common Mistakes:
Confusing topics with device connections
Thinking topics are security features
Mixing up topics with publishers
3. Given this scenario: A device publishes messages to topic home/temperature. Which device will receive the messages?
medium
A. All devices on the network
B. Any device subscribed to home/humidity
C. Any device subscribed to home/temperature
D. Only the publishing device
Solution
Step 1: Identify the topic published to
The device publishes to home/temperature.
Step 2: Determine which subscribers get the message
Only devices subscribed to home/temperature receive the messages.
Final Answer:
Any device subscribed to home/temperature -> Option C
Quick Check:
Subscribers to topic get messages [OK]
Hint: Subscribers to the exact topic get messages [OK]
Common Mistakes:
Assuming all devices get messages
Thinking publishing device receives its own messages
Confusing similar topic names
4. A subscriber is not receiving messages from the broker. Which of these is a likely cause?
medium
A. Publisher is sending messages to the subscriber directly
B. Subscriber is publishing messages instead of subscribing
C. Broker is encrypting messages incorrectly
D. Subscriber is not subscribed to the correct topic
Solution
Step 1: Check subscription correctness
If the subscriber is not subscribed to the right topic, it won't get messages.
Step 2: Rule out other causes
Publishers don't send messages directly; encryption issues or wrong roles are less common causes here.
Final Answer:
Subscriber is not subscribed to the correct topic -> Option D
Quick Check:
Correct topic subscription needed [OK]
Hint: Check subscriber's topic subscription first [OK]
Common Mistakes:
Thinking publisher sends messages directly
Blaming encryption without evidence
Confusing subscriber and publisher roles
5. In a large IoT system using publish-subscribe, how can you ensure that only devices in the 'factory/floor1' area receive temperature alerts without affecting others?
hard
A. Publish all alerts to factory/temperature and let devices filter messages locally
B. Publish temperature alerts to topic factory/floor1/temperature and have devices subscribe to it
C. Send alerts directly to each device's IP address
D. Use a single topic temperature for all devices
Solution
Step 1: Use topic hierarchy for targeted messaging
Publishing to factory/floor1/temperature targets only devices subscribed to that specific area.
Step 2: Avoid broad topics or direct device addressing
Broad topics or direct IP messaging reduce scalability and flexibility.
Final Answer:
Publish temperature alerts to topic factory/floor1/temperature and have devices subscribe to it -> Option B
Quick Check:
Use specific topics for targeted delivery [OK]
Hint: Use detailed topic paths for precise message delivery [OK]
Common Mistakes:
Using broad topics causing unwanted message delivery
Trying direct device IP messaging in pub-sub
Ignoring topic hierarchy benefits
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.