Frage

von allen Artikeln, die ich über Mochiweb bisher gelesen habe, habe ich das über gehört und immer wieder, dass Mochiweb sehr gute Skalierbarkeit bietet. Meine Frage ist, wie genau funktioniert Mochiweb bekommt seine Skalierbarkeit Eigenschaft? Ist es von Erlang inhärente Skalierbarkeit Eigenschaften oder hat Mochiweb keine zusätzlichen Code, der es ausdrücklich erlaubt gut zu skalieren? Anders gesagt, wenn ich einen einfachen HTTP-Server in Erlang schreiben waren selbst mit einem einfachen ‚Loop‘ (rekursive Funktion) Griff Anfragen, müsste sie das gleiche Maß an Skalierbarkeit als einfacher Webserver die Mochiweb Rahmen gebaut mit?

UPDATE: Ich habe nicht einen Blas- Web-Server zu implementieren jede Funktion möglich zu unterstützen. Meine Anforderungen sind sehr spezifisch -. POST-Daten aus einem HTML-Formular mit festen Kontrollen behandeln

War es hilfreich?

Lösung

MochiWeb wird sich nicht skalierbar, so weit ich es verstehe. Es ist eine schnelle, kleine Server-Bibliothek, die Tausende von Anfragen pro Sekunde verarbeiten kann. Die Art und Weise, in der er das tut, hat nichts mit „Skalierbarkeit“ (abgesehen von der Anzahl der mochiweb_acceptors Einstellung, die zu einem bestimmten Zeitpunkt hören) zu tun.

Was Sie mit MochiWeb bekommen, ist eine solide Web-Server-Bibliothek, und Erlang Skalierbarkeit bietet. Wenn Sie einen einzelnen MochiWeb Server ausgeführt werden soll, wenn eine Anfrage kommt, können Sie Offload noch die Arbeit der Verarbeitung dieser Anforderung an jede Maschine, die Sie dank Erlang verteilten Knoten Infrastruktur und billig Message Passing wollen. Wenn Sie mehr MochiWeb Server ausführen möchten, können Sie sie hinter einem Load Balancer und die Verwendung Mnesia verteilten Funktionen für die Synchronisierung von Sitzungsdaten zwischen Maschinen setzen.

Der Punkt ist, MochiWeb ist klein und schnell (genug) . Erlang ist die Skalierbarkeit Elektrowerkzeug.


Wenn Sie eine eigene Serverlösung rollen, könnten Sie wahrscheinlich treffen oder MochiWeb die Effizienz und „Skalierbarkeit“ out of the box schlagen. Aber dann würden Sie zu überdenken alles haben sie haben schon gedacht, und Sie würden den Kampf Test haben Sie es selbst.

Andere Tipps

Wahrscheinlich. : -)

Wenn Sie einen Web-Server schreiben sind, dass Griffe jede Anforderung in einem separaten Prozess (geringes Gewicht Gewinde in Erlang) Sie die gleiche Art von „Skalierbarkeit“ leicht erreichen können. Natürlich wäre das Feature-Set anders sein, es sei denn Sie alles implementieren Mochiweb hat.

Erlang hat auch großen eingebaute Unterstützung für den Vertrieb unter vielen Maschinen, könnte dies möglich sein, noch mehr Skalierbarkeit gewinnen nutzen zu können.

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