2012-08-13 2 views
5

Ich habe SilkJS für ein paar meiner Hobbyprojekte verwendet. Bis jetzt ist die Leistung erstaunlich, und ich liebe es, JavaScript sowohl für das Front-End als auch für das Back-End zu verwenden. Ich denke darüber nach, es in einigen kommerziellen Projekten zu verwenden, aber ich möchte meine Sorgfaltspflicht für die Durchführbarkeit einer solchen Entscheidung erfüllen. Es gibt einige Fragen, die ich habe und möchte etwas Einblick in.Lebensfähigkeit von SilkJS/serverseitigem JavaScript für den Unternehmenseinsatz

1) Welche Unternehmensprojekte kennen Sie, wenn überhaupt, mit SilkJS?

2) Welche Ressourcen sind in Bezug auf die Sicherheit bei der Verwendung von SilkJS als Webserver oder anderen V8-basierten Lösungen verfügbar? (Anamnese der Sicherheitslücken, durchschnittliche Zeit zum Patchen usw.).

3) Welche Fallstricke haben Sie bei der Verwendung von SilkJS oder anderen V8-basierten Lösungen als Webserver erlebt und wie haben Sie sich, wenn möglich, damit beschäftigt?

4) Kann SilkJS die horizontale Skalierung gut verarbeiten (Verteilung der Last auf mehrere Server)? Basiert Ihre Antwort auf theoretischen Berechnungen und praxiserprobten Beispielen?

5) Welche Ressourcen sind Ihnen bezüglich der Erstellung einer Website mit SilkJS als Webserver neben der offiziellen Website bekannt?

Bevor Sie antworten, lassen Sie mich zunächst 80% der Antworten beseitigen ich mit den folgenden Einschränkungen erhalten:

1) Nein, ich werde nicht NodeJS verwenden. Aus geschäftlichen und psychischen Gründen werde ich keine asynchrone Callback-Programmierung verwenden. Versuche nicht, mich davon zu überzeugen, dass ich mich "daran gewöhnen und es lieben werde". Es ist nicht optimal für die Art von Projekten, an denen ich arbeite. Ja, du hast mich gehört - asynchron ist nicht perfekt für alles.

2) Mir ist bewusst, dass synchrone Programmierung in NodeJS simuliert werden kann. Nein, das interessiert mich auch nicht. Ich benutze NodeJS nicht - überstehe es.

3) Ich bin mir völlig bewusst, dass die meisten Anwendungen E/A-gebunden und nicht CPU-gebunden sind. Daher ist die Verwendung von PHP normalerweise in Ordnung. Es gibt jedoch bestimmte Projekte, für die cpu optimations fällig eine ansehnliche Kapitalrendite liefern. Nein, ein Unternehmen muss nicht Facebook sein, um wahr zu sein. Dies soll keine Diskussion darüber sein, warum PHP in Ordnung ist. Es ist eine Untersuchung der Zuverlässigkeit von SilkJS für mehr kommerzielle Projekte.

3) Ja, ich weiß, was Java ist. Nein, mich interessiert nicht, warum das großartig wäre, wenn ich den CPU-Engpass reduzieren wollte. Auch hier ist nicht zu diskutieren, "warum andere Sprachen in Ordnung sind". Es ist eine Untersuchung der Zuverlässigkeit von serverbasierten SilkJS- und V8-basierten Lösungen für mehr Unternehmensprojekte.

4) Ja, es ist möglich, eine beste Antwort auf diese Frage zu haben. Wer für oder gegen die Nutzung von SilkJS für den Einsatz in einer Unternehmensumgebung plausibel ist, erhält die richtige Antwortabstimmung.

Auch ich bin mir bewusst, dass trotz meines Wunsches, NodeJS zu vermeiden, es V8 verwendet. In dieser Hinsicht bin ich im Rahmen der Nutzung über NodeJS offen für Security Reviews und Stability Reviews für V8 auf der Serverseite.

Was ich unter "Unternehmen" verstehe, denke an E-Commerce-Sites mit mehreren hunderttausend Zugriffen pro Monat und/oder Anwendungen, für die Stabilität und Verfügbarkeit entscheidend sind und hunderttausende Benutzer haben.

Mein Ziel ist es nicht, SilkJS zu schlagen.Ich liebe es absolut und werde es weiterhin benutzen, wenn es möglich ist. Als professioneller Programmierer kann ich jedoch nicht einfach das verwenden, was mir bei jedem Projekt gefällt. Lassen Sie den Einblick beginnen.

Antwort

1

SilkJS sollte genau wie Apache + PHP skalieren. Lastenausgleich vor einer Farm von SilkJS-Servern. Skalieren Sie ein MySQL-Backend, wie Sie es bereits wissen.

SilkJS nicht GZIP oder SSL. Ich denke, es wäre ein Risiko, einer Implementierung von einem oder beiden von diesen in freier Wildbahn zu vertrauen, gegen all die verschiedenen Bots (Hacker oder andere), Spider, Browser, benutzerdefinierte Perl-Programme usw. Sie können Apache trivial als eine Umkehr implementieren Proxy vor SilkJS, um diese Funktionen bereitzustellen.

In der Tat können Sie Ihre serverseitige Anwendung shard und Apache als Reverseproxy verwenden, um eine Verbindung zum richtigen Shard basierend auf der angeforderten URL herzustellen.

Ich denke, wenn Sie irgendwelche Sicherheits-oder andere Probleme an die SilkJS Google-Gruppe posten, werden Sie rechtzeitig einen Patch auf dem Github-Repository angezeigt.

Anders als die SilkJS.net-Site können Sie nach verschiedenen Repos auf GitHub suchen, die Beispielprogramme mit SilkJS haben.

http://www.sencha.com/blog/discover-music-with-sencha-touch-2

Dieser Artikel beschreibt, wie Modus eine Anwendung für NPR mit Sencha Touch als Frontend und SilkJS als Backend gebaut erstellen. Es heißt:

"Die SilkJS-Server werden in Amazon EC2 Cloud gehostet, hinter einem Load Balancer für Geschwindigkeit und Redundanz. Beide SilkJS-Hosts werden von der NPR-API über cURL gefüttert und sind verantwortlich für das Trimmen von mehr als 300KB Datenpaket, das die durchschnittliche Last auf weniger als 200KB bringt, bevor es zur Übertragung gezippt wird! "

+0

Vielen Dank – user396404

Verwandte Themen