Отправка запросов на другие серверы на основе ключа API - PullRequest
1 голос
/ 28 октября 2010

Я разрабатываю приложение, которое требует, чтобы все запросы к нашим серверам направлялись через один сервер типа «диспетчер». Этот сервер на основе ключа 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 и вернем ответ клиенту.

1 Ответ

0 голосов
/ 28 октября 2010

Мне кажется, это то, что вы должны делать с nginx. Nginx все время используется для переадресации / проксирования соединений. Если вы хотите масштабировать горизонтально, добавьте несколько блоков nginx за балансировщик нагрузки.

...