Design a Resource Allocation Service — Hard System Design Problem