Der Server hält Logik, iOS/Android App enthält UI. Geläufiger Fall.Kontinuierliche Bereitstellung: Wie werden neue Funktionen bereitgestellt, die gleichzeitig Client und Server betreffen?
Wie soll ich neue Funktionen in diesem Fall mit einer kontinuierlichen Bereitstellungsmethode bereitstellen?
Ich gehe davon aus, dass die serverseitige Bereitstellung wie folgt aussieht: Ich bin Auslöser neue Feature-Bereitstellung, Load Balancer startet 1% aller Benutzer auf die Serverinstanz mit der neuen Funktion umleiten. Wenn alles reibungslos verläuft, startet Load Balancer die Umleitung von 10%, 30% usw. auf 100%.
Das gleiche kann für Client-Anwendungen getan werden, zum Beispiel mit CodePush.
Also, wenn ich Server ohne eine App bereitstellen, dann wird es keine neue Funktionen Verwendung geben und daher keine Probleme mit der neuen Bereitstellung sicher.
Also, wahrscheinlich muss ich zuerst Anwendung bereitstellen und eine Art von Server Version Checker, also, wenn der Server API für diese neue Funktion hat, wird die Benutzeroberfläche für diese Funktion angezeigt, und wenn die App mit dem verbunden ist Falscher Server, die neue Benutzeroberfläche ist ausgeblendet.
Das scheint primitiv. Ich muss Socket-Verbindung zu dem gleichen Server beibehalten, um zu vermeiden, den falschen Server zu schlagen, nicht wahr? Und was passiert, wenn Instanz/Zone/Region ausfällt und der Benutzer plötzlich auf eine andere sone/region umgeleitet wird und der neue Server nicht über die neue Funktion api verfügt? Wahrscheinlich ist meine Annahme falsch.
Also, wie soll ich neue Funktionen in diesem Fall mit einer kontinuierlichen Bereitstellungsmethode bereitstellen?