In our live session today, we designed a High Throughput Messaging Queue - like RabbitMQ or Amazon SQS. We focused on designing this on a single machine. In our next session, we will distribute it for even higher throughput.
Queue design is a bit different from file system or database design because everything is moving very fast. So we have to do some design changes for that. For example: We don't focus on storing immediately on disk. Instead, we try to write to memory and eventually flush it's contents to disk.
We went over the entire detailed design for the queueing system and many members participated in our discussions. To access these discussions live, please sign up for our trial at InterviewCamp.io