Distributed Queue System Design