Node.Js VS HttpAsync (asp.net)
Прочитав много материала о nodejs, я все еще спрашиваю себя:
Каковы преимущества перед запросами asp.net HttpAsync?
Единственное ограничение (как я вижу) - это одновременное количество запросов, которые IIS
пределы.
Я попытался нарисовать, как я сейчас это понимаю:
любая помощь?
- Есть ли что-нибудь, что асинхронные операции на
.net/ado.net
не может сделать то, что может nodejs?
2 ответа
IIS по умолчанию ограничивает количество одновременных запросов большим числом. Предел может быть поднят произвольно, хотя.
Существует два основных преимущества, связанных с node.js:
- Масштабируемость (не производительность! Есть разница) благодаря асинхронному вводу-выводу
- Совместное использование Javascript с клиентом
ASP.NET не поддерживает номер 2, так что это преимущество.
Асинхронный ввод-вывод и неблокирующий код полностью поддерживаются ASP.NET. Кроме того, вы получаете преимущество в производительности статически типизированного языка JIT. По этой причине ASP.NET обычно имеет более высокую производительность по сравнению с node.js для неигровых приложений (печать "Hello World" не является реальной рабочей нагрузкой! Ни один из них не спит в течение 10 секунд).
node.js извлекает выгоду из чрезвычайно тонкого пути кода, который он имеет. По этой причине очень минимальные приложения, такие как "эхо" или "привет мир", вероятно, быстрее. Это не относится к приложениям, которые фактически выполняют работу.
Поэтому, если вы хотите знать, что "лучше", вам нужно рассмотреть конкретный сценарий. Тест с реалистичной рабочей нагрузкой (нет, вычисление факторного числа нереально. C# просто выиграет с большим количеством. Ничего не значит). Также фактор зрелости платформы, библиотек, документации, поддержки, производительности разработчиков, ....
Основным отличием node.js от ASP.NET является экосистема библиотеки. Большинство библиотек node.js предоставляют асинхронный способ. Методы ASP.NET не, только некоторые из них делают. И если на этом пути что-то происходит синхронно, точка асинхронности теряется.
Это проблема большинства платформ по сравнению с node.js.
В противном случае, просто используя этот метод AsyncHttp, нет никакой разницы между ASP.NET и node.js.