Ich opfere Skalierbarkeit/Leistung mit Socket.IO, und alle diese offenen Verbindungen verwaltet es?
Wenn Sie Ihre Seite (dynamische Seite) sofort aktualisieren möchten, wenn neue Informationen verfügbar sind. Dann die Verbindung offen zu halten mit nicht-Blockierung io ist der effizienteste Weg, dies zu tun. Glücklicherweise verwendet node.js nicht blockierendes io. Das ist einer der Gründe, warum node.js so beliebt ist (und dass Sie in JavaScript programmieren können, welches die populärste Programmiersprache ist). Wenn Sie es wirklich (auch in der Zukunft) nicht benötigen, weil Ihre Website eher statisch ist (nicht in Echtzeit, wie Sie gesagt haben), dann spart das Schließen der Verbindung Ressourcen.
Würde die Verwendung von Backbone + ExpressJS Ressourcen freigeben, da keine offene Verbindungen vorhanden sind?
Ich würde die Kosten (Entwicklungszeit) betrachten, um Ihre Website mit Backbone/Express-Kombination gegen Derbyjs zu entwickeln.
Dann wieder wie Nate erwähnt Socket.io kann viele (1000+) gleichzeitige Verbindungen problemlos behandeln. Wenn es einfacher ist, mit derbyJS zu entwickeln, dann würde ich das verwenden. Wenn Sie diese Straße überqueren, können Sie immer beschließen, weitere Server hinzuzufügen oder Ihre Website neu zu gestalten, um die Express/Backbone-Kombination zu verwenden. Versuchen Sie zunächst, an einem Punkt zu kommen, an dem Nutzer Ihre Website mit dem geringsten Aufwand (Zeit zur Entwicklung) wertvoll finden.
PS: Ich denke, Sie sollten versuchen, Ihr System so modular wie möglich zu halten, so dass der Austausch von Derby.js für etwas anderes mit der geringsten Zeit erledigt werden kann.
Im Allgemeinen denke ich, dass dies mäßig gute Faustregeln sind, aber sie sind sehr geschäftsorientiert. Nicht alle Software ist in einem Geschäftskontext geschrieben. Weiter, sagen "frag diese Frage nicht, weil X und Y" ist nur ein bisschen besser als nur zu sagen "frag diese Frage nicht." –