Design Abwägung zwischen NodeJs und signalR
Ich habe ein web-service, welches komplett aufgebaut .net C#. Jetzt will ich entweder signalR oder Node JS so, dass wenn der web service hat einige aktualisieren können, drücken Sie es, um Kunden, die in html-javascript.
Design-Überlegung:
Ich bin mit meinem Webservice auf IIS.
Client in Html-javascript -
Anzahl der Nutzer hoch sein kann. Vielleicht 100 oder 200
Gibt es häufige updates, die für lange Zeit von web service.
Web-service übernimmt DB call und wenig Berechnung
Server-Spezifikation ist nicht ein Problem.
Brauchen Stabilität und Sicherheit der web-service -
- Wenn Sie Ihren server 2012 server mit .NET 4.5, die ich gehen würde für SignalR! Wenn nicht würde ich gehen für XSockets.NET
- Ich kann nicht das windows server 2012. Vielleicht habe ich windows server 2008. Ich dachte, dass es nicht erforderlich ist, windows server 2012 und es am meisten benötigen .net 4.0?
- Ja, es wird funktionieren auf 2008 als gut, aber Sie werden am besten erhalten, SSE -, transport-und nie WebSockets da die SIgnalR-erfordert server 2012/Win8 und .NET 4.5 werden in der Lage zu liefern WebSockets als transport. Siehe Vergleich hier: xsockets.net/xsockets-vs-signalr EDIT: Da will man push-Echtzeit-Nachrichten von Ihrem webservice werfen Sie einen Blick auf dieses xsockets.net/api/guides/boosting-a-wcf-to-realtime 2 Zeilen code ist alles was es braucht, in Ihrem Dienst...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bereits mit dem Microsoft-stack (.NET, C#, IIS) auf dem back-end, dann wäre es sinnvoll zu verwenden, SignalR, weil es integriert gut mit Ihren vorhandenen Stapel.
Haben Sie schon Entwicklungs-Erfahrung in C#, Sie haben Erfahrung in NodeJS zu? Wenn nicht, dann das ist ein großer Punkt, zum zu betrachten, weil es eine Lernphase, wo Sie sich daran gewöhnt, den Knoten Programmierung von javascript.
100-200 Nutzer nicht, dass viele, die entweder für NodeJS oder SignalR. SignalR verwendet einige der async-features .NET und so ein thread wird nicht durch die eine Verbindung öffnen, bis etwas fertig ist, zu geschehen (e.g Sie warten auf DB-IO). Ebenso werden alle IO-Knoten sollte asynchron erfolgen.
Wenn Sie SQL server verwenden, dann finden Sie vielleicht mit SignalR eröffnet andere Möglichkeiten, e.g mit Entity Framework um die Produktivität zu verbessern und Ihre Produkte schneller auf den Markt.
Als für Stabilität und Sicherheit, das sind oft abhängig von der Art und Weise, die Sie entwerfen, schreiben und die Anwendung so konfigurieren, anstatt die Technologie-stack selbst.
Edit: Ein paar Ressourcen für den Einstieg in die jeweiligen Technologien, die ich gefunden habe, hilfreich in die Vergangenheit: