Was ist der Unterschied zwischen den Standardeinstellungen / Serverlos / Klassisch in Azure SignalR?

9

Ich habe den Azure SignalR-Dienst für die REST-API eingerichtet. Unter den Einstellungen gibt es drei Modi: Standard , Serverlos , Klassisch . Ich kann keine Informationen darüber finden, was jedes dieser Elemente enthält. Das einzige, was ich bisher bekommen habe, ist, dass wenn ich Azure SignalR für Azure-Funktionen oder REST-APIs verwende, die Option Serverlos vorzuziehen ist .

Aus der Dokumentation :

Ändern Sie die Einstellung "Dienstmodus" nur dann in "Serverlos", wenn Sie den Azure SignalR-Dienst über die Bindung von Azure-Funktionen oder die REST-API verwenden. Belassen Sie es ansonsten in Classic oder Default.

Der serverlose Modus wird für ASP.NET SignalR-Anwendungen nicht unterstützt. Verwenden Sie für die Azure SignalR Service-Instanz immer Standard oder Klassisch.

Könnten Sie mir bitte helfen, die einzelnen Optionen zu finden?

Azure SignalR-Einstellungen

Anna
quelle

Antworten:

6

Gemäß den Dokumenten auf Github wird bestimmt, ob ein mit dem SignalR-Dienst verbundener Hub-Server benötigt oder zulässig ist:

Der Standardmodus erfordert einen Hub-Server. Wenn für den Hub keine Serververbindung verfügbar ist, versucht der Client, eine Verbindung zu diesem Hub herzustellen.

Der Serverless-Modus erlaubt KEINE Serververbindung, dh er lehnt alle Serververbindungen ab, alle Clients müssen sich im Serverless-Modus befinden.

Der klassische Modus ist ein gemischter Status. Wenn ein Hub über eine Serververbindung verfügt, wird der neue Client an den Hub-Server weitergeleitet. Wenn nicht, wechselt der Client in den serverlosen Modus.

Da es im Serverless-Modus keinen Hub-Server gibt, können Sie nur Nachrichten an bestimmte Clients senden oder von einem verbundenen Client an alle Clients senden. Da es keinen Hub gibt, werden Nachrichten von Clients an den SignalR-Dienst über HTTP anstelle von Websockets gesendet. Dies kann zu Leistungsproblemen führen, wie hier beschrieben .

scharnyw
quelle