Persistent message brokers publish messages in the form of logs. Consumers “subscribe” by essentially tail -fing one or more log partitions. This is essentially the same thing as a replication log, though it is being used for a (slightly) different purpose. As such, persistent message brokers can be thought of as a generalization of leader-based replication such that the leaders and followers have been abstracted away.

Each partition assigns a (locally) monotonically increasing sequence number to each message so that consumers can resume reading by message offset.

The log is typically segmented into batches, with the oldest batches being dropped or archived as the disk runs out of space. “Effectively, the log implements a bounded-size buffer that discards old messages when it gets full, also known as a circular buffer or ring buffer.” (Kleppman p. 700