pydirector takes inbound TCP connections and connects them to one of a number of backend servers. It's * async I/O based * supports multiple scheduling algorithms like random, round robin, leastconns, last recently used * transparently detects failed servers