NEWS
Wozu brauche ich: socket.io und/oder web
-
Liebe Gurus!
Ich hab heute mal wieder in meinen Instanzen etwas aufgeräumt und alles rausgeworfen, was nicht mehr verwendet wird und bin auf zwei Adapter gestoßen, bei denen ich ihre Abhängigkeiten nicht so ganz durchschaue
Die Instanz web.0 - da gibt es einen Punkt socket.io-Instanz mit den Optionen keins/integriert/socket.io
Dieser Punkt wird für VIS benötigt - Rickshaw verwende ich nicht/hab ich nicht installiert
Nun hab ich aber (ich glaub wegen der VIS-App) auch den Socket.io Adapter installiert und hab aber somit zwei dieser socket.io-Dinger laufen…
Kann man da irgendwas optimieren, oder geht das nun mal nicht anders wenn man VIS via App und via Browser laufen hat? Oder kann ich im Adapter Web die Option socket.io einstellen und dann läuft der Web-Adapter "speicherschonend"?
Soll man in diesem Fall dann den socket.io Adapter auf Port 8082 umstellen oder soll der auf 8084 weiter laufen?
Grüße
tom
-
Hallo etv,
der Web-Adapter enthält bereits auch die Funktionen des socketio-Adapters. Je nachdem, ob man in den Einstellungen des Web-Adapters nun
keins/integriert/socket.io auswählt, wird für die Übertragung der Daten während der View- oder Diagramm-Anzeige (Live-Update) kein socketio, die im Web-Adapter enthaltene Version des socketio-Adapters oder eine separat installierte Socketio-Adapterversion verwendet.
Wenn man die Vis-Seite im Browser aufruft, wird dem Browser vom Server mitgeteilt, wie die Verbindung aussehen sollte. Bei der internen Version im Web-Adapter wird einfach dieselbe URL wie von Vis selbst verwendet. Bei einem separaten Adapter wird der Port des socketio-Adapter übermittelt und dann dieser verwendet.
Funktional sind beide eigentlich gleich. In der App wählt man den socketio-Adapter durch die Port-Angabe explizit aus. Hier kann man auch den socketio-Adapter im Webadapter angeben und dann diesen verwenden. Die Auswahl hier ist unabhängig von der Einstellung im Web-Adapter.
Die Verwendung des internen Adapters hat erstmal den Vorteil, dass hierfür kein eigener Adapter gestartet wird und somit ein nodejs-Prozess weniger Speicher verbraucht. Dann kann der separate socketio-Adapter deaktiviert werden.
Der separate socketio-Adapter hat den Vorteil, dass man hier speziell für die App oder andere Anwendungen mit socketio-Schnittstelle die Verschlüsselung und Authentifizierung unabhängig von VIS steuern kann. Auch kann man hier separat Updates z.B. von Github einspielen. Der im Web-Adapter integrierte wird nur im Rahmen eines Updates des Web-Adapters aktualisiert, wenn im Package eine neuere Version als die lokal installierte gefordert wird.
Gruß
Markus
-
Servus Markus,
danke für die genaue Erklärung! Ich werd' dann in den kommenden Tagen mal mit der Version von Web fahren und den eigenen socket.io mal abdrehen und schauen ob es irgendwelche Einbußen bei Performance oder sonst wo bei VIS gibt…
Liebe Grüße
tom