У меня есть nodejs сервер разработки. Я в настоящее время работаю на AWS EC2 микро AMI. У меня есть устройство, которое непрерывно отправляет данные этому серверу через сокет. Сервер затем называет API, отправляет данные, полученные от устройства после обработки, и хранит его в локальном экземпляре Mongodb. Устройство отправляет данные каждые 5 секунд. API в настоящее время находится на том же сервере на другом порте, который будет перемещен в другой сервер позже. Мой сервер подвешивается после 3 вызовов API.
На более позднем выполнении мой сервер сокета, мой сервер API и мой mongodb экземпляр будут иметь свои собственные выделенные серверы. В настоящее время я использую среду разработки.
EC2 и инфраструктура AWS в целом предназначена для работы с тяжелым трафиком. Ваш 1 запрос/5 секунд не так уж и много с точки зрения частоты запросов, и не приблизился бы к тому, чтобы быть признанным злоумышленником.
Теперь ваша проблема с сервером, зависающим после 3-х запросов, является отдельной, похоже, что само приложение нуждается в оптимизации. Если ваша обработка данных занимает слишком много времени, то звучит так, как будто вы пользуетесь услугой SQS от Amazon; пусть ваш слушатель прослушивает порт и сразу же пишет в SQS и возвращается. Имейте отдельный процесс чтения из SQS, обработки и записи в Mongo. SQS бесплатна для первых 1 миллиона запросов в месяц , а при скорости 1-требования - все 5 секунд, вы заработаете 535 680 запросов в месяц.