1. A resource allocation system, comprising: a first network interface; a load balancer; a web proxy processor configured to selectively block an inbound user browser request or route an inbound user browser request to a destination server; a cache cluster system configured to cache data and states for access by one or more system components; a database storing information regarding a plurality of resources, including rights to select resources rankings; and program code stored in computer readable memory, which, when executed is configured to: receive requests from users for the right to select a resource from a pool of resources, wherein the requests are associated with corresponding rankable attributes; rank the users' requests based at least on the corresponding rankable attributes; allocate the ranked rights to select resources to at least a portion of the requests based at least in part on the ranking of the users' requests.