Я разрабатываю приложение, которое требует, чтобы все запросы к нашим серверам направлялись через один сервер типа «диспетчер». Этот сервер на основе ключа API, отправленного в запросе, перенаправит запрос на соответствующий внутренний сервер, а затем передаст ответ клиенту.
например, входящий запрос может быть http://example.com:6578/<api_key>/create?name=example&date=title
Мой первый инстинкт - использовать PHP с Lighttpd для диспетчера и хранить сопоставления api-key / server с мембраной. Однако этот маршрутизатор может в конечном итоге направлять огромное количество запросов, поэтому производительность является ключевым фактором.
В то же время Lighty с APC довольно быстрый и масштабируемый по горизонтали.
Есть предложения по языкам / архитектурам, которые следует использовать для чего-то подобного?
Редактировать: Пары ключ-значение будут получены из мембраны или аналогичного хранилища ключ-значение. Таким образом, для и api_key из 1234, мембрана вернет IP 123.456.789.101. Затем мы перенаправим запрос на выполнение http://123.456.789.101/<client>/create?name=example
и вернем ответ клиенту.