D
Deleted member 11740
Guest
Ich arbeite derzeit an einem Projekt, dass von einem Radar Transceiver Messdaten aufnimmt und dann weiterleitet. Die Datensätze bestehen aus den Rohdaten, Timestamp, Auflösung, Compass-Daten und dem Status, welche als JSON gesendet werden. Die Clientanwendung ist mit Javascript programmiert worden. Da diese Anwendung Websockets benötigt (UDP wäre ja zu einfach), muss der Server auf der embedded Hardware jede Verbindung einzeln managen. Das mache ich bereits mit tornado in python.
Es teilt sich in zwei Bereiche auf: Control und Daten
Um das Radar zu steuern benötigt jeder Client natürlich individuellen Zugriff, was über eine REST-API geschieht. Das verbraucht aber kaum Ressourcen.
Die Roh-Daten empfangen alle verbundenen Clients und sind gleich. Da auf der Hardware recht begrenzte Ressourcen verfügbar sind, komme ich ab 5 Clients schnell an die Grenze der CPU.
Wir haben bereits einen fertigen Relay-Server, der nur eine Verbindung zum Websocket aufbaut und diese dann an alle verbundenen Clients weiterleitet.
Dieser Relay-Server muss dann aber auf einer externen Hardware laufen.
Gibt es ein fertiges Modul für den Nginx, das als Relay-Server arbeitet. Bitte nicht mit einem Proxy verwechseln. Der reicht die Verbindungen nur durch, was an dem Problem nichts ändern würde. Ich bin auch offen für andere Tools, die sowas können. Wichtig ist mir, dass es sehr perfomant ist.
Bis jetzt habe ich das hier gefunden:
https://github.com/ronelliott/node-websocket-relay
Wenn jemand noch eine andere Anwendung/Modul kennt, wäre ich sehr dankbar. Ich gehe mal von aus, dass ein in C geschriebenes Modul weniger Ressourcen verbraucht als Javascript, was aber schon perfomanter als Python ist.
PS: Habe gerade gesehen, dass node-websocket http to Websocket ist *grml*.
Es teilt sich in zwei Bereiche auf: Control und Daten
Um das Radar zu steuern benötigt jeder Client natürlich individuellen Zugriff, was über eine REST-API geschieht. Das verbraucht aber kaum Ressourcen.
Die Roh-Daten empfangen alle verbundenen Clients und sind gleich. Da auf der Hardware recht begrenzte Ressourcen verfügbar sind, komme ich ab 5 Clients schnell an die Grenze der CPU.
Wir haben bereits einen fertigen Relay-Server, der nur eine Verbindung zum Websocket aufbaut und diese dann an alle verbundenen Clients weiterleitet.
Dieser Relay-Server muss dann aber auf einer externen Hardware laufen.
Gibt es ein fertiges Modul für den Nginx, das als Relay-Server arbeitet. Bitte nicht mit einem Proxy verwechseln. Der reicht die Verbindungen nur durch, was an dem Problem nichts ändern würde. Ich bin auch offen für andere Tools, die sowas können. Wichtig ist mir, dass es sehr perfomant ist.
Bis jetzt habe ich das hier gefunden:
https://github.com/ronelliott/node-websocket-relay
Wenn jemand noch eine andere Anwendung/Modul kennt, wäre ich sehr dankbar. Ich gehe mal von aus, dass ein in C geschriebenes Modul weniger Ressourcen verbraucht als Javascript, was aber schon perfomanter als Python ist.
PS: Habe gerade gesehen, dass node-websocket http to Websocket ist *grml*.
Last edited by a moderator: