Frage

Ich habe mehr als 100 Kanäle von Video-Streams alle zur gleichen Zeit zu verarbeiten. Ich brauche das Video zu erfassen, Thumbnails und sie dienen als Web-Service aus. Für die Erzeugung von Miniatur, kann ich JMF usw. verwenden (ich bemerkte, dass es eine andere Stelle ist darüber reden, wie zu generieren und Zugang: besserer Qualität Thumbnails von größeren Bilddateien ). Aber meine Sorge ist: Wie zu skalieren? Java EE EJB oder einfach Java SE Themen? Was sind die Nachteile und Profis? Wie horizontal EJB maßstäblich mit?

Ich bin nicht mit Skalierbarkeit Problem vertraut, und ich schätze Ihre freundlichen Vorschläge wirklich.

Danke.

War es hilfreich?

Lösung

Agree ... Fäden maßstab auf einzelne Maschine helfen sollen. Wenn Sie über verschiedene Maschinen skalieren möchten -. Terracotta verwenden

Andere Tipps

Java SE Themen kann Ihnen helfen, auf einer einzigen Maschine zu skalieren, aber wenn man sich horizontal über verschiedene Maschinen skalieren gehen zu müssen, würde EJB ein Weg sein, es zu tun.

Wenn es mir ist, würde ich es wahrscheinlich zu einem separaten Web-Service-Tier-Farm aus, die auf so viele Rechner laufen könnten nach Bedarf, und dann Gleichgewicht zwischen diesen Maschinen laden.

Ich sehe keinen Grund, EJB in dieser Situation zu verwenden. Sie haben sich zu fragen, wo der Engpass ist. Meine Wette wird mit der Video-Verarbeitung sein. Ich würde Ihre Anwendung profilieren und zu sehen, wie viele Threads Verarbeitung sein kann, bevor sie für ihre Zeitscheibe mehr Zeit mit Warten verbringen, als sie verarbeiten. mehr Threads nach einem Punkt hinzugefügt werden nicht mehr Durchsatz hinzuzufügen. Zu diesem Zeitpunkt wissen Sie, was eine Maschine tun wird und wie viele Maschinen Sie einen bestimmten Durchsatz erhalten müssen. Wie Sie über Maschine skaliert ist eine andere Frage.

Es handelt sich um zwei unterschiedliche Probleme.

Capturing / Verarbeitung klingt wie ein Farm-like Problem machen. Das sind triviale horizontal skaliert. Die meisten Lösungen beinhalten eine Warteschlange von Jobs, Sie haben nicht einmal dies in Java tun müssen; findet nur eine einfache Lösung, die Sie mögen. "Render-Farm ffmpeg" oder Sachen wie, dass die Ergebnisse in Google ergeben sollte.

Ihr ‚dient aus als Web-Service‘ Teil ist etwas undefiniert. Wenn Sie diese Videos zugänglich sein wollen, können Sie nur sie setzen müssen auf eine HTTP-server- diejenigen leicht Last ausgeglichen werden, und somit horizontal scalable- sein Speichergeschwindigkeit oder Netzwerk-Bandbreite wahrscheinlich gibt es Keine Engpässe erste sein würde.

Lassen Sie den formalen J2EE-Stack zurück.

Vielmehr ist eine nette Nachricht Warteschlange, dass die Gespräche JMS mit X Anzahl der JVMs Y Anzahl der Threads als Verbraucher ausgeführt wird.

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