Server-Rotation und Sitzungsmigration

Die moderne automatische Skalierung der Cloud macht es erforderlich, eine Mindestrotationszeit für Dienste festzulegen. Sitzungen, die länger als 8 Stunden dauern, können unterbrochen werden, da sie sich in Diensten befinden, die aus- oder einskaliert werden.

Dieses Thema umfasst die folgenden Abschnitte:

Von der Serverrotation betroffene Dienste

Die folgenden Dienste werden im Rahmen der Serverrotation weiter betrieben:

Alle anderen Dienste werden bei der Rotation gestoppt.

Überwachung der Serverrotation in Sitzungen

Sie können eine Callback-URL für Sitzungsereignisse registrieren, die an Ihre Callback-URL gesendet werden. Wenn eine Gruppe von Video API-Servern für eine Ihrer Sitzungen für eine Rotation vorgesehen ist, wird eine sessionNotification Ereignis wird an Ihren registrierten Callback-Endpunkt gesendet.

Siehe die Überwachung von Sitzungen Dokumentation.

Wenn Clients mit einer Sitzung verbunden bleiben, wenn eine Reihe von Servern aufgrund der Serverrotation abgeschaltet wird, wird ein sessionDestroyed Ereignis wird auf Ihre Callback-URL gesetzt. Die reason Eigenschaft der sessionDestroyed Ereignis wird gesetzt auf "serverRotation". Und jeder verbundene Client wird von der Sitzung getrennt und erhält eine sessionDestroyed Veranstaltung.

Clients, die Version 2.30.0 oder höher der Video API-Client-SDKs verwenden, können automatisch mit einer Sitzung verbunden bleiben, wenn die Server für die Sitzung rotieren. Siehe den nächsten Abschnitt, Automatische Sitzungsmigration.

Für Clients, die ältere Versionen der Client-SDKs verwenden, gibt es Schritte, die Sie als Reaktion auf eine sessionNotification Ereignis, um die Verbindung zu den Clients aufrechtzuerhalten. (Siehe Reagieren auf Server-Rotationssitzungs-Benachrichtigungsereignisse.)

Automatische Sitzungsmigration

Mit der Sitzungsmigrationsfunktion werden alle Teilnehmer einer Sitzung während der Serverrotation nahtlos auf einen neuen Server übertragen. Diese Funktion gewährleistet die Kontinuität der Sitzung bei minimaler Unterbrechung für die Teilnehmer.

Die Sitzungsmigration ist ab der Version 2.30.0 der Client-SDKs verfügbar. Siehe den nächsten Abschnitt, Ermöglichung der Sitzungsmigration in Clients.

Zu den Vorteilen der Sitzungsmigration gehören verbesserte Zuverlässigkeit, kürzere Wiederverbindungszeiten und unterbrechungsfreie Benutzererfahrung bei geplanten Serverwechseln. Beachten Sie, dass nur Live-Sitzungen migriert werden. Laufende Aufzeichnungen können während der Migration unterbrochen werden und müssen manuell neu gestartet werden - siehe Reagieren auf Server-Rotationssitzungs-Benachrichtigungsereignisse.

Ermöglichung der Sitzungsmigration in Clients

Wenn Sie eine Sitzung in den Video API-Client-SDKs initialisieren, können Sie eine Option festlegen, damit ein Client während der Serverrotation mit der Sitzung verbunden bleibt.

Standardmäßig ist die Option Sitzungsmigration auf false. Stellen Sie ihn unbedingt auf true um die Sitzungsmigration in jedem Client zu ermöglichen.

Setzen Sie die SetSessionMigration Eigenschaft einer Session.Builder Objekt zu true:

session = new Session.Builder(context, applicationId, sessionId){ SetSessionMigration = true }.Build();

Unterbrechung von Diensten und Reaktion auf Benachrichtigungsereignisse zur Serverrotation

Wenn eine Sitzung nach einer Serverrotation migriert wird, werden viele Dienste fortgesetzt, ohne dass eine Aktion erforderlich ist, wie in der folgenden Tabelle angegeben. Archive, Live-Streaming-Übertragungen und Experience Composer-Instanzen, die für die Sitzung ausgeführt werden, enden jedoch, wenn die Sitzung migriert wird.

Service Continues without interuption
Clients connected with the client SDKs Yes 1
SIP clients Yes
Audio Connector Yes
Archives Requires restart 2
Live streaming broadcasts Requires restart
Live captions Requires restart
Experience Composer Requires restart
1 See Enabling session migration in clients.
2 Automatic archives restart automatically when the session migrates.

Sie können Überwachung der Serverrotation in Sitzungen um zu wissen, wann eine Sitzungsrotation stattfindet. Nach der Sitzungsmigration können Sie neue Archive, Live-Streaming-Übertragungen oder Experience Composer-Instanzen für die neue Sitzung starten.

Wenn für die ursprüngliche Sitzung bereits Archive oder Übertragungen laufen, können Sie neue Archive oder Übertragungen für die neue Sitzung starten. Im Falle von Broadcasts müssen Sie die neue Broadcast-URL an die Clients senden, die den Broadcast konsumieren.

Wenn die Clients in der Sitzung nicht Version 2.30.0 oder höher verwenden können, um die Sitzungsmigrationmüssen Sie Maßnahmen ergreifen, um sie nach der Serverrotation wieder zu verbinden. Wenn die Server für die Sitzung rotiert werden (eine Stunde nach dem Senden des Sitzungsbenachrichtigungsereignisses), werden die mit der Sitzung verbundenen Clients, bei denen die Sitzungsmigration nicht aktiviert ist, gezwungen, die Verbindung zur Sitzung zu trennen. Wenn Ihr Anwendungsserver einen Callback zur Benachrichtigung über die Serverrotation erhält, kann er Maßnahmen ergreifen, um diese Clients wieder mit einer neuen Sitzung zu verbinden:

  1. Erstellen Sie eine neue Video API-Sitzung mit der Video API REST API oder einem Video API Server SDK.

  2. Senden Sie die Sitzungs-ID für die neue Sitzung an die mit der Sitzung verbundenen Clients. Sie können die Video REST API oder ein Video API Server SDK verwenden, um das Signal an die verbundenen Clients zu senden. Siehe . diese Dokumentation.

  3. Die Clients sollten die Verbindung zur ursprünglichen Sitzung sofort trennen und sich erneut mit der neuen Sitzung verbinden. Für einen nahtloseren Übergang zwischen den Sitzungen und zur Minimierung einer möglichen Wiederverbindungszeit können die Clients mit der ursprünglichen Sitzung verbunden bleiben und die Videoanzeige umschalten, bevor die Verbindung zur ursprünglichen Sitzung getrennt wird (bei der Verbindung mit der neuen Sitzung).

Auslösen der Sitzungsmigration

Sie können den Sitzungsmigrationsprozess manuell mit dem Befehl Sitzungsmigration REST-API. Dieser Ansatz bietet Ihnen mehr Flexibilität und Kontrolle über Sitzungsmigrationen und ermöglicht es Ihnen, Unterbrechungen bei Backend-Wartungen oder Skalierungsvorgängen zu minimieren. Indem Sie die Migration zu einem Zeitpunkt auslösen, der Ihren betrieblichen Anforderungen am besten entspricht, können Sie die Kontinuität von Diensten, die während der Sitzungsmigration betroffen sein könnten, besser gewährleisten. Weitere Informationen darüber, welche Dienste von Unterbrechungen betroffen sein können, finden Sie in der Serviceunterbrechungen Abschnitt.

Sie können die Sitzung nur dann migrieren, wenn derzeit keine Migration für diese Sitzung im Gange ist und die Sitzung nicht vor kurzem erstellt oder migriert wurde.

FAQs

Was ist die Video API-Serverrotation? Wie häufig werden die Video API-Server aktualisiert? Die Skalierbarkeit der Softwarewolke erfordert eine kontinuierliche Fähigkeit zur Serverrotation. Vonage hält ein 8-Stunden-Fenster ein, um eine übermäßige Rotation von langlebigen Sitzungen zu vermeiden. Rotationen können täglich stattfinden.

Es gibt einige Hauptgründe für die Rotation eines Medienservers. Die Hauptgründe sind Wartung, Software-Updates, Sicherheitspatches, Wartung der Infrastruktur und elastische Autoskalierung:

  • Wartung, Sicherheit und neue Software-Updates - Die Dienste werden regelmäßig verbessert. Dabei kann es sich um Software-Updates handeln, die weniger häufig durchgeführt werden, um Sicherheits-Patches oder um Infrastruktur-Updates.
  • Cloud-Wartung gestörter Systeme - Zwischen Infrastrukturwarnungen, der Erkennung möglicher Anomalien oder Infrastrukturverfahren zur Auffrischung von Cloud-Systemen können Systeme unter Einhaltung der 8-Stunden-Grenzen automatisch außer Betrieb genommen werden, um sicherzustellen, dass keine anhaltenden Probleme auftreten.
  • Elastische automatische Skalierung - Die Systeme werden regelmäßig hoch- und heruntergefahren, um die Lasten innerhalb der Regionen zu bewältigen und die Kapazitäten nach dem Prinzip "Follow the Sun" zu nutzen. Langfristig können so gering belastete Server zur Konsolidierung der Infrastruktur skaliert werden.

Kann ich dieselbe Sitzungs-ID verwenden, um die Verbindung wiederherzustellen, wenn eine Sitzung aufgrund einer Serverrotation unterbrochen wurde?

Clients, die Version 2.30.0 oder höher der Video API-Client-SDKs verwenden, können während der Serverrotation automatisch mit einer Sitzung verbunden bleiben. Siehe Automatische Sitzungsmigration.

Wenn nicht alle Clients Version 2.30.0 oder höher der Client-SDKs verwenden können, können Sie sie eine neue Verbindung zu einer Sitzung herstellen lassen. Es wird empfohlen, eine neue Sitzungs-ID zu verwenden, um sicherzustellen, dass die neue Sitzung an eine neue Serverinstanz geleitet wird. Wenn die Sitzung aufgrund einer Serverrotation unterbrochen wird, werden alle Clients unterbrochen. Wird dieselbe Sitzungs-ID verwendet, wird die erneute Verbindung nach Beendigung der Sitzung auf einen neuen Server verschoben, und zwar nach der sessionDestroyed Ereignis.