Node.Js VS HttpAsync (asp.net)

После прочтения большого количества статей об nodejs, я все еще спрашиваю себя:

Каковы преимущества перед запросами asp.net HttpAsync?

Единственное ограничение (как я вижу) - это одновременное количество запросов, ограничение IIS.

Я попытался нарисовать, как я это понимаю сейчас:

enter image description here

любая помощь?

  • Есть ли что-нибудь, что асинхронные операции над .net/ado.net не могут сделать, что nodejs может?

Ответы

Ответ 1

IIS ограничивает количество одновременных запросов до большого числа по умолчанию. Предел может быть поднят произвольно, хотя.

Существуют два основных преимущества, связанных с node.js:

  • Масштабируемость (не производительность! есть разница) из-за async IO
  • Совместное использование Javascript с клиентом

ASP.NET не поддерживает номер 2, поэтому это преимущество.

Async IO и неблокирующий код полностью поддерживаются ASP.NET. Кроме того, вы получаете преимущество в производительности от статического типизированного языка JITed. По этой причине ASP.NET обычно имеет превосходную производительность для node.js для не-игрушечных приложений (печать "hello world" не является реальной рабочей нагрузкой! Ни спать в течение 10 секунд).

node.js извлекает выгоду из чрезвычайно тонкого кода, который он имеет. По этой причине очень минимальные приложения, такие как "эхо" или "привет мир", скорее всего, быстрее. Это не выполняется для приложений, которые действительно выполняют работу.

Итак, если вы хотите знать, что лучше, вам нужно рассмотреть конкретный сценарий. Тест с реалистичной рабочей нагрузкой (нет, вычисление факторного числа нереалистично. С# просто выиграет на большой сумме. Также фактор зрелости платформы, библиотек, документации, поддержки, производительности разработчиков,....

Ответ 2

Основное различие между node.js и ASP.NET - это экосистема библиотеки. Большинство библиотек node.js предоставляют асинхронный путь. ASP.NET методы не делают, только некоторые из них делают. И если в пути есть что-то синхронное, точка асинхронности теряется.

То, что большинство платформ сравнивается с node.js.

В противном случае, просто используя этот метод AsyncHttp, нет никакой разницы между ASP.NET и node.js.