Design distributed message queue service | Google Interview Question