An international electronics company and one of the leaders in manufacturing information and imaging-related equipment.
T&M (Zeit und Material)
Scrum
Software-Entwickler
Project Manager
Business-Analysten
UI Designer
Projektleiter
Die Lösung des Kunden ist ein verteiltes System, d. h. sie soll zahlreiche Abrufe von Nutzerdaten und Backend-Antworten unterstützen. Der Mobile Client konnte die steigende Anzahl von Anfragen nicht bewältigen – die App betrachtete sie als DDoS-Angriffe und stürzte ab. Dies führte auch zu anderen Fehlern in der Anwendung:
Aufgrund dieser Probleme konnte der Kunde nicht mit der Massenproduktion des Geräts beginnen. Also wandte er sich an Softeq, um seine Lösung zu optimieren. Unsere Aufgabe war es, zu ermöglichen, dass das System kontinuierlich verfügbar ist und 100 % aller Anrufe erfolgreich sind.
Um die Verbindung stabil zu machen, implementierten wir zunächst den Redis Backplane-Dienst.
Das System sollte eine beliebige Anzahl von Anfragen verarbeiten und Daten auf allen Backends replizieren.
Das System wurde in die Azure Cloud Services integriert. Als die Zahl der Anfragen stieg, duplizierte Azure die Backends, um die Belastung gleichmäßig zu verteilen. Hierfür wurde ein Load Balancer eingesetzt. Trotz dieser Maßnahmen wurde keine Systemstabilität erreicht.
Wie sich herausstellte, hat die Redis-Datenbank einige Einschränkungen in ihren Funktionen, die zu häufigen Fehlern führten, z. B. war es unmöglich
Da das Problem immer noch nicht gelöst war, mussten unsere Softwareentwickler die Idee, den Redis-Dienst zu nutzen, verwerfen und sich nach einer anderen Lösung umsehen.
Als Alternative zu Redis entschieden wir uns für Azure SignalR.
Dieser Dienst wurde für groß angelegte Lösungen konzipiert und löst unsere beiden Hauptprobleme:
Azure SignalR ermöglicht es dem System, relevante Daten in Echtzeit vom Client zu den Servern zu übertragen und umgekehrt.
Auf diese Weise konnten wir die Belastung, die durch Speicherung von Kundeninformationen und die Aufrechterhaltung der WebSocket-Verbindung entstand, vom Backend auf Azure SignalR übertragen.
Wir führten mehrere Tests durch, um sicherzustellen, dass die Verbindung nicht abbricht.
Die ursprüngliche Lösung des Kunden verwendete eine P2P-Verbindung.
Wir ersetzten P2P durch eine Gruppenverbindung, die den WebRTC-Videostream an den Twilio-Server weiterleitet. So stellten wir sicher, dass der Mobile Client bei einem Videoanruf stabil bleibt.
Wir entwickelten einen Algorithmus zur Berichterstellung, der:
Das Berichtssystem sorgt dafür, dass wichtige Statistiken jederzeit pünktlich geliefert werden.
Wir aktualisierten die Sicherheitsfunktionen der Lösung.
Alle Daten, die von der App genutzt und erzeugt werden, werden über das HTTPS-Protokoll übertragen. Die Autorisierung erfolgt gemäß dem Protokoll OAUTH 2.0.
Softeq überarbeitete die Software, um Probleme zu lösen, die die Verbindung und die Stabilität betrafen. Das Ergebnis:
Der Kunde wird weiterhin mit Softeq zusammenarbeiten, um die Lösung um neue Funktionen zu erweitern, z. B. Fernhilfe-App für Google Play und Updates für die Lösung, um sie an neue Modelle von AR-Brillen anzupassen.