Frage

Ich habe mit ein paar Freunden auf der Universität argumentiert, und wir können nicht an einen Punkt gelangen, an die Web-Anwendungen der Rahmen mit mehr Skalierbarkeit ist (und immer noch sehr schnell).

Man nennt für jsp, das andere für Ruby andere für PHP und so weiter. Könnte ich Sie bitten, zu klären uns auf das, was als mehr Skalierbarkeit Potenzial?

Tks, hoffe, ich bin duplizieren etwas nicht, dass ich gesucht habe, aber gefunden habe keine vorherige Frage wie diese.

Edit: Wenn Sie einen Vergleich zu diesem Punkt könnte es wäre gut:)

War es hilfreich?

Lösung 4

(fünf Jahre später ...)

Ich fand diese Blog-Post, die mehr sprachabhängigen Web-Frameworks Benchmarks. Und jetzt das so ziemlich beantwortet die Frage, die ich im Jahr 2008 hatte.

http://www.techempower.com/blog/2013 / 03/28 / Rahmen-Benchmarks /

Andere Tipps

Ruby und PHP sind nicht webapp-Frameworks. Sie sind Programmiersprachen, die für Web-Entwicklung beliebt sind.

Im Allgemeinen ist Webapp Skalierbarkeit keine Eigenschaft einer Programmiersprache und ein gegebener Webapp Rahmen darf höchstens nicht Skalierbarkeit behindern. Gute Skalierbarkeit ist eine Eigenschaft des Anwendungsdesigns.

Es gibt viel zu viele Webapp Rahmen gibt für einen Punkt-für-Punkt-Vergleich, den etwas kurz von enzyklopädischem ist.

Sie können aber auch die Skalierbarkeit für eine bestimmte Anwendung auf verschiedene Weise angehen. Eine Möglichkeit ist, einen gut definierte und engen Anwendungsbereich hat und genial Rohleistung Ziel, so dass eine einzelne Maschine bazillion von Arbeitseinheiten dienen kann. Das beste Beispiel um Mailinator .

Ein anderer Weg ist, um es leichter Lasten dienen Erhöhung von „nur“ das Hinzufügen von mehr Hardware. So ziemlich jede Datenbank-backed Webapp Rahmen können auf diese Weise skalieren: nur mehr Anwendungsserver zwischen einem Load Balancer hinzufügen und eine gemeinsame Datenbank-Back-End. Wenn Sie das Problem auf diese Weise umrahmen, Ihr Hauptanliegen ist die Entwicklung neuer Anwendungen 1. Datenbankkonflikte 2. Datenbanklast zu minimieren.

Der letzte Weg ist, um das System zu entwerfen irrsinnig parallel den ganzen Weg zu sein. Google ist das beste Beispiel.

Zusammengefasst:. Sprachen oder Frameworks nicht skalierbare Anwendungen machen, Software-Architekten tun

EDIT: Um es klar, meine Antwort konzentriert sich auf Skalierbarkeit , das heißt die Fähigkeit, Lasten zu handhaben zu erhöhen, ohne Design zu ändern. Dies ist eine andere Eigenschaft als die Geschwindigkeit der Ausführung.

Algorithmen werden mehr für die Skalierbarkeit als die verwendete Sprache zählen.

Das heißt, es wird Unterschiede in der Ausführungsgeschwindigkeit sein, zwischen den Sprachen. Ich glaube, dass Java (Servlets und JSPs Servlets kompilieren, das heißt, nativen Code) wird schneller sein als Ruby und PHP um einen gewissen Betrag). Es gibt auch eine Tonne von Web-Frameworks für Java, die Sie ermutigen, Dinge, den besten Weg für die Skalierbarkeit zu tun.

Design ist auch die App, so dass sie glücklich hinter einem Load Balancer ausgeführt werden können und Skalierbarkeit wird viel einfacher :) Dies ist jedoch nicht mein Fachgebiet ist.

Web Framework Skalierbarkeit ist ein bisschen einer über Gedanken Frage (manche würden sagen p155ing Wettbewerb). Es sei denn, Sie mega bucks (viel Glück mit, dass diese Tage) erhalten und kann alle Millionen von Besuchern pro Tag gewährleisten diese Rahmenbedingungen es gut verarbeiten kann (wie kann ASP.NET).

Persönlich würde ich immer ASP.NET wählen. Es ist so skalierbar wie alles und hat die besten Entwickler-Tools. Der einzige Nachteil ist das Hosting und Systemkosten betrieben wird.

Sie können auch einen Blick auf „ Was ist schneller? PHP vs ASP vs JSP vs CGI etc "

ich denke, Java / Java EE die einzige „Framework“ von Grund auf neu entwickelt, ist verteilt / geclusterten Anwendungen zu entwickeln und fördert gute Praktiken es von den Spezifikationen zu erreichen (EJB, JTA ...).

Aber wie üblich, es hängt davon ab. Diese Art von Fragen neigen oft zu flame wars:)

Ich bin nicht sicher, ob eine dieser Frameworks erwähnen Sie ernsthaft Skalierbarkeit behindern.

Es hängt alles von der Umsetzung.

Ich würde konzentrieren Ihr Web-App immer gut zuerst zu arbeiten, und dann über die Skalierbarkeit sorgen, wenn es ein Problem wird. Mit anderen Worten: „Lassen Sie uns die Brücke überqueren, wenn wir zu ihm kommen.“

A: C ISAPI dll (oder benutzerdefinierte Apache-Modul))

Auch dann der Aufwand für den Web-Server, die HTTP-Anfragen Parsen und die HTML-Seiten dient, macht die Ausführungszeit Ihrer Anwendungen fast irrelevant. Wenn Sie Ihre App als CGI-Anwendung ausführen, dann erwarten, dass noch weniger Leistung.

Für die Skalierbarkeit im Web, sind Sie wirklich reden über mehr Server und Load-Balancing Zugabe unter Last von dem Server durch die Datenbank setzen (falls stark frequentiert) auf einem separaten Server.

Die rohe Leistung dieser Sprachen sind fast nichts zu befürchten über. Verwenden Sie die, die Sie verwenden möchten, die Sie am produktivsten sein wird. Sorge um die anderen Fragen über Sie laufen in - Netzwerk io, Sicherheit, Korrektheit

.

Einige gute Punkte bereits. Mein Hauptpunkt sei dies: Eine Person, den Python innen und außen kennt, wird wahrscheinlich in der Lage sein, skalierbarer Code mit Python zu machen, als Java verwenden. Und es gibt viele massiv große Websites, die alle Technologien verwenden, die Sie erwähnen, so dass ich glaube nicht, dass es wirklich kein großer Vorteil entweder Weg.

Für den größten Teil, sollten Sie halten, was Sie mit vertraut sind, es sei denn es ist ein wirklich wichtiger Grund einen anderen Weg zu gehen.

habe ich zufällig über diese Frage zu kommen, und bemerkte, dass einige Diskussion über Geschwindigkeit, andere Skalierbarkeit. Ich schrieb einen Blog-Beitrag erklärt den Unterschied:

http://www.fransekman.com/scalability -oder-Performance-what-do-you-mean /

„Eine hohe Skalierbarkeit Website ist eine Website, die Performance-Niveau kann durch Zugabe von mehr Kapazität, wenn sich die Last erhöht aufrechterhalten werden“. Dies kann in einer beliebigen Programmiersprache und fast jeden Rahmen erreicht werden. Einige Rahmen haben eine integrierte Funktionalität, die schneller einige allgemeine Skalierbarkeit Dinge machen kann zu implementieren.

Eine kompilierte Sprache wird in der Regel schneller als eine interpretierte Sprache also denke ich, Ruby und PHP hinter dem acht Ball starten, aber es kommt wirklich darauf an, wie Sie die Sprache verwenden und wie Sie den Code strukturieren.

Alle Sprachen werden ihre eigenen Best Practices und Muster müssen skalierbare Anwendungen erstellen und oft wird es Kompromisse bei der Funktionalität der vorgeschlagenen Anwendung abhängig sein.

Wenn Sie wissen möchten, wie die großen Websites LAMP verwenden Skalierbarkeit zu erreichen, können Sie einen Blick auf Datenbank sharding .

Die Wahl eines Web-Framework hat weniger Auswirkungen auf die Skalierbarkeit (die Fähigkeit zu skalieren) als die Architektur Ihrer Website. Die meisten modernen Web-Frameworks eignen sich sehr gut zu skalieren, so ist es wirklich der Bereitstellung Setup, das Aufmerksamkeit erfordert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top