Würde ich davon profitieren, von PHP zu Node.js zu wechseln (im Kontext) [geschlossen]

8

Die Situation: Wir sind dabei, einen Protokollierungsdienst einzuführen. Da wir ziemlich PHP-schwer sind, wird es von der aktuellen Implementierung verwendet.

Wir werden ungefähr 200 Computer haben (die meisten im selben Netzwerk), die jeweils ungefähr 5000 Anfragen pro Tag über HTTP POST senden. Bei jeder Anforderung, die ungefähr 300 Datenbytes enthält.

Das empfangende Ende wird bei Amazon gehostet und ist ein sehr einfaches PHP-Formular mit einer einfachen Validierung, die alles in eine Datenbank stellt.

Jetzt wurde ich kürzlich in Node.js eingeführt und bin gespannt, ob es hier gut zum Backend passt.

Zugegeben, ich könnte leicht etwas bauen, um dies zu testen. Aber da ich die Async-Methologie nicht vollständig verstanden habe, möchte ich wirklich, dass jemand mit Erfahrung es mir erklärt.

danneth
quelle
Dies ist mein erster Beitrag über Programmierer, daher bin ich mir nicht sicher, welche Art von Fragen bevorzugt werden. Dies mag "downvotable" sein, aber ich gehe das Risiko ein.
Danneth
2
+1. Die Frage scheint mir in Ordnung zu sein: sowohl konstruktiv als auch nicht zu lokalisiert.
Arseni Mourzenko
10
Warum erwägen Sie eine andere Plattform, wenn Ihre aktuelle funktioniert? Die Neugier ist großartig, aber angesichts Ihres Aufbaus und Ihrer Bedürfnisse denke ich nicht, dass Sie nur aus wissenschaftlichen Gründen damit experimentieren sollten. Ich weiß nicht, ob PHP alles tut, was Sie wollen, aber wenn ja, sehe ich keinen Sinn darin, die Plattform zu wechseln. Node.js ist großartig, und es wird äußerst wertvoll sein, sich damit vertraut zu machen, aber vielleicht sollten Sie es bei einem kleineren Projekt in Betracht ziehen? Etwas passenderes zum Experimentieren?
Yannis
@YannisRizos Wie Sie sagen, ich denke, das aktuelle Setup wird gut funktionieren, selbst wenn / wenn wir wachsen. In gewisser Weise ist es nur für die Wissenschaft und Referenz für zukünftige Projekte. Wahrscheinlich werde ich nichts ändern, sondern mit der Idee spielen, mein Verständnis von Node zu verbessern. Grundsätzlich - nehmen Sie ein Beispiel aus der realen Welt und hoffen Sie auf einige aufschlussreiche Antworten :)
danneth
1
@YannisRizos Ich finde immer, dass ein schneller und einfacher Test ausreicht, um mir zu sagen, ob es sich lohnt, etwas zu verfolgen oder nicht, aber um wirklich zu sehen, ob es in der Lage ist, brauche ich ein größeres Projekt, an dem ich arbeiten kann - und es gibt nichts Besseres als ein Umschreiben (für Testzwecke) eines vorhandenen Setups. Der größte Vorteil ist, dass Sie sehen können, ob es genau wie zuvor funktioniert, und dass Sie damit auch die Leistung direkt vergleichen können.
Gbjbaanb

Antworten:

11

Wir werden ungefähr 200 Computer haben (die meisten im selben Netzwerk), die jeweils ungefähr 5000 Anfragen pro Tag über HTTP POST senden. Bei jeder Anforderung, die ungefähr 300 Datenbytes enthält.

Das sind ungefähr 10 Req / s. Es ist also klar, dass Sie nicht wechseln müssen .

Vorteile des Wechsels im wirklichen Leben (neben wertvollen Erfahrungen)? Nun, wie Sie sagten, hosten Sie bei Amazon. Mit node.js haben Sie weniger Last, was bedeutet, dass Sie sogar eine Mikroinstanz für diese Art von Last verwenden können, wodurch Sie etwas Geld sparen. Da es sich um ein asynchrones Framework handelt, kann es auch die Latenz verringern, indem beispielsweise die Antwort vor dem Speichern in der Datenbank gesendet wird.

vartec
quelle
7

Wenn Sie und Ihr Team gute Erfahrungen mit PHP haben und die Implementierung einfach genug ist, würde ich mich daran halten. Wenn der Datenverkehr steigt und die Parallelität ein Problem darstellt, lohnt es sich möglicherweise, sich mit dem Knoten auseinanderzusetzen (und es macht immer Spaß, eine neue Sprache zu lernen !!).

Der andere Vorteil des Knotens ist: es ist schnell .

Aber auch in diesem Szenario kann ich mir nicht vorstellen, dass gut geschriebenes PHP Schwierigkeiten haben würde, mit der Last umzugehen.

Awalias
quelle
Das Laden wird in diesem Fall wahrscheinlich kein Problem sein, mehr noch in einem vorgeschlagenen bevorstehenden Projekt. Dieses Experiment (als Gedanke und mögliche Entwicklung) ist dazu gedacht, einen
Überblick darüber
Auch wenn Sie wirklich Geschwindigkeit und Skalierbarkeit brauchen, würde ich in Betracht ziehen, vert.x
K ..
0

Ich habe node.js für meine BSc-Arbeit verwendet und es war eine sehr schöne Erfahrung. Darüber hinaus wurde es zusammen mit einer PHP-Anwendung verwendet, damit ich beide Technologien vergleichen konnte.

Wenn Sie genug Zeit haben (nicht zu viel, wenn Sie mit Javascript vertraut sind), können Sie es auch ausprobieren. Auf diese Weise wissen Sie, ob Sie es im kommenden Projekt implementieren müssen, was möglicherweise mehr Parallelität erfordert.

Awemo
quelle
0

Die beste Erklärung für Node Async ist das Node Beginners-Buch . Es ist kostenlos (aber die 10 Dollar wert). Es wird erklären, wie Sie Ihre Knotenserver schreiben und ist sehr gut geschrieben.

gbjbaanb
quelle