Problem Statement: This is a pretty straightforward approach where there are a bunch of single nodes and all they have to do is when they receive a broadcast message they need to store that in their memory and when they receive a read message they return the list of messages they have seen up until now.
The set of messages are a steady stream and they could be of the order of a thousand messages per second.
Architecture

Approach
All we do is when we receive a broadcast we just store those values in a global list and then return that list when asked for it. Every node also has its topology i.e it has information about its neighbors where it can store data for that particular node.
Next step: Multi Node Broadcast system:
Our node should propagate values it sees from broadcast messages to the other nodes in the cluster. It can use the topology passed to your node in the topology message or you can build your own topology.
This post was first published on Substack.
View the original