Большие объемы, низкие накладные расходы
У меня есть приложение, которое будет обрабатывать данные, которые он получает через большие объемы, запросы с небольшим объемом служебной информации, отправленные с различных устройств с поддержкой Интернета. Эти данные будут приниматься постоянно, и в будущем они будут только увеличиваться по мере добавления в систему все большего количества устройств. Как только данные получены, после небольшой обработки они будут вставлены в базу данных (MySQL).
У меня вопрос, какое серверное программное обеспечение мне использовать для этого? Является ли node.js лучшим кандидатом для обработки максимального количества таких запросов в рамках данного аппаратного ограничения, или nginx лучше для таких приложений? Также есть ли лучшие практики для обработки таких запросов? Например, я прочитал, что если я использую node.js, мне, возможно, придется взглянуть на ограничения ОС, чтобы убедиться, что в случае большого количества одновременных запросов может быть создано достаточно файлов...
Благодарю.
1 ответ
По крайней мере, новые люди говорят, что Java лучше всего подходит для этого:
Основным веб-приложением New Relic всегда было приложение Rails. Уровень сбора данных изначально был написан на Ruby, но в конечном итоге был перенесен на Java. Основным драйвером для этого изменения была производительность. Этот уровень в настоящее время поддерживает более 180 000 запросов в минуту и отвечает примерно за 2,5 миллисекунды с достаточным запасом.