Как Node js сможет обрабатывать огромный поток данных?
Вот так:
https://nodejs.org/api/cluster.html - в документации все есть. Кроме того, рекомендую изучить работу событийной петли в ноде.
2. Память. Я недавно написал CRUD приложение на nest js. Собрал сервер в docker и вижу что image достигла больше 1 гигабайта памяти, тот же java достигает всего лишь 500 мегабайтов. Почему node js сжирает много памяти?
Потому что это вы измеряли память занятую докером, а измерять надо память потребляемую самой нодой. Есть специальные инструменты, которые позволяют делать более точное профилирование работы приложений - используйте их. Кроме того, затраты памяти зависят в первую очередь от кода: если вы/фреймоворк/либа какая-то там на каждый коннект создаете/создает сотни объектов с сотнями килобайт данных в них и оно остается в памяти, то чего удивляться расходу памяти?
Сможет ли node js хорошо справится с работой сокетом?
Да, сможет великолепно справится. И уже давно справляется. IO в ноде сделан качественно. Если надо максимально производительный http/ws сервер, то смотрите в сторону
uWebSocket (http + ws).