Ich erstelle eine Transportschicht für eine WebApp Frontend. Benutzer können über Mobile Apps, Browser beide verbunden werden. Die Transportschicht ist für mehrere Anwendungen vorgesehen, einschließlich Chat-Anwendungen, mehrseitige Web-Anwendungen, Benachrichtigungs- und E-Mail-Server. Die Skalierung liegt bei 4000 gleichzeitigen Benutzern. Wenige Szenarien Verschiedene Dienste müssen möglicherweise auch miteinander interagieren. B. Chat-Server könnte eine E-Mail senden.Socketcluster mit Pub Sub in Cloud
Ich suche das beste Design für diese Transportschicht. Das gesamte System muss in der Cloud bereitgestellt werden, muss jedoch herstellerunabhängig sein.
Mein Design: 1. Erstellen Sie Sockets über NettoSphere (https://github.com/Atmosphere/nettosphere) oder Netty mit FallBacks für HTTP-Abruf. 2. Verbinden Sie die Socket-Schicht mit einem Pub/Sub wie Redis (für die Verwendung von Cloud Pub/Sub). Jeder funktionale Server (E-Mail, Chat usw.) erhält einen eigenen Kanal.
Zweifel: 1. Übertreibe ich es? Gibt es irgendwelche Ready of Shelf Libraries, die ich benutzen kann? Ich habe gesucht, konnte aber nicht finden. Ich denke, dies sollte ein häufiger Anwendungsfall sein und es sollte etwas von der Stange sein. 2. Wird Java für Java über Cluster skalieren? Oder Soll ich SocketCluster in Node.js verwenden? Ich fühle mich in Java wohler.