2012-09-11 7 views
15

Sau khi đọc rất nhiều thứ về nodejs, tôi vẫn hỏi bản thân tôi:Node.js VS HttpAsync (asp.net)

các lợi ích qua HttpAsync yêu cầu asp.net là gì?

Giới hạn duy nhất (như tôi thấy) là số lượng yêu cầu đồng thời với giới hạn IIS.

Tôi cố gắng để vẽ như thế nào Tôi hiện hiểu nó:

enter image description here

bất kỳ sự giúp đỡ?

  • có bất kỳ điều gì hoạt động không đồng bộ trên .net/ado.net không thể thực hiện các nút đó?

Trả lời

13

IIS giới hạn số lượng yêu cầu đồng thời đến số cao theo mặc định. Giới hạn có thể được nâng lên tùy ý.

Có hai lợi ích chính do Node.js:

  1. Khả năng mở rộng (! Không thực hiện có sự khác biệt) do async IO
  2. Sharing Javascript với khách hàng

ASP .NET không hỗ trợ số 2 nên đó là một lợi thế.

Không đồng bộ IO và mã không chặn được ASP.NET hỗ trợ đầy đủ. Thêm vào đó, bạn sẽ có được lợi thế về hiệu suất của một ngôn ngữ được gõ tĩnh JIT. Vì lý do đó, ASP.NET thường có hiệu suất cao hơn đối với node.js cho các ứng dụng không đồ chơi (in "hello world" không phải là một khối lượng công việc chuẩn thực sự! Không ngủ trong 10 giây).

lợi ích node.js từ đường dẫn mã cực kỳ mỏng mà nó có. Vì lý do đó các ứng dụng rất nhỏ như "echo" hoặc "hello world" có lẽ nhanh hơn. Điều này không giữ cho các ứng dụng thực sự hoạt động.

Vì vậy, nếu bạn muốn biết cái nào "tốt hơn", bạn cần phải xem xét một kịch bản cụ thể. Điểm chuẩn với khối lượng công việc thực tế (không, tính toán một số giai thừa là không thực tế. C# chỉ là sẽ giành chiến thắng bởi một số lượng lớn. Có nghĩa là không có gì). Ngoài ra yếu tố trong sự trưởng thành của nền tảng, thư viện, tài liệu, hỗ trợ, năng suất của nhà phát triển, ....

+0

Tôi nghĩ rằng nút đó cũng hỗ trợ tcp trong khi asp.net doesnt (http requst) –

+0

Đó có thể là trường hợp. IIS hỗ trợ TCP mặc dù. WCF sử dụng nó để chạy các điểm cuối dịch vụ nhị phân. – usr

+0

khi tôi tạo một máy chủ http bằng cách sử dụng node.js - mỗi yêu cầu đến máy chủ đang được xử lý bởi một chuỗi thông thường chứ không phải từ nhóm chủ đề ... phải không? –

5

Sự khác biệt chính giữa node.js và ASP.NET là hệ sinh thái thư viện. Hầu hết các thư viện node.js cung cấp một cách không đồng bộ. ASP.NET phương pháp không, chỉ có một vài người trong số họ làm. Và nếu có cái gì đó đồng bộ trên đường đi, thì điểm không đồng bộ bị mất.

Đó là vấn đề mà hầu hết các nền tảng đã so sánh với node.js.

Nếu không, chỉ cần sử dụng phương pháp AsyncHttp này, không có sự khác biệt giữa ASP.NET và node.js.