In messaging systems with multiple producers and multiple consumers, producers publish the messages under a topic, for the consumers. The messaging system maintains multiple topics and the messages in these topics are partitioned and stored in persistent data structures called journals with one-to-one correspondence between a given journal and a given consumer. These journals are maintained in a shared disk storage.