Grundläggande begrepp för Azure Web PubSub
Azure Web PubSub-tjänsten hjälper dig att skapa webbprogram för meddelanden i realtid. Klienterna ansluter till tjänsten med standardprotokollet WebSocket och tjänsten exponerar REST-API:er och SDK:er för att du ska kunna hantera dessa klienter.
Villkor
Här följer några viktiga termer som används av tjänsten:
Anslutning: En anslutning, även kallad en klient eller en klientanslutning, är en logisk relation mellan en klient och Web PubSub-tjänsten. Via en "anslutning" deltar klienten och tjänsten i en serie tillståndskänsliga interaktioner. Anslutningar som använder olika protokoll kan bete sig annorlunda, till exempel är vissa anslutningar begränsade till varaktigheten för en nätverksanslutning, medan andra kan sträcka sig över flera efterföljande nätverksanslutningar mellan en klient och tjänsten.
Hubb: En hubb är ett logiskt begrepp för en uppsättning klientanslutningar. Vanligtvis använder du en hubb för ett scenario, till exempel en chatthubb eller en meddelandehubb . När en klientanslutning ansluter ansluter den till en hubb och under sin livslängd tillhör den hubben. När en klientanslutning ansluter till hubben finns hubben. Olika program kan dela en Azure Web PubSub-tjänst med hjälp av olika hubbnamn. Det finns ingen strikt gräns för antalet hubbar, men en hubb förbrukar mer tjänstbelastning jämfört med en grupp. Vi rekommenderar att du har en fördefinierad uppsättning hubbar i stället för att generera dem dynamiskt.
Grupp: En grupp är en delmängd av anslutningar till hubben. Du kan lägga till en klientanslutning till en grupp eller ta bort klientanslutningen från gruppen när du vill. När en klient till exempel ansluter till ett chattrum eller när en klient lämnar chattrummet kan det här chattrummet betraktas som en grupp. En klient kan ansluta till flera grupper och en grupp kan innehålla flera klienter. Gruppen är som en grupp "session", gruppsessionen skapas när någon ansluter till gruppen och sessionen är borta när ingen är i gruppen. Meddelanden som skickas till gruppen levereras till alla klienter som är anslutna till gruppen.
Användare: Anslutningar till Web PubSub kan tillhöra en användare. En användare kan ha flera anslutningar, till exempel när en enskild användare är ansluten över flera enheter eller flera webbläsarflikar.
Meddelande: När klienten är ansluten kan den skicka meddelanden till det överordnade programmet eller ta emot meddelanden från det överordnade programmet via WebSocket-anslutningen. Meddelanden kan vara i oformaterad text, binärt eller JSON-format och ha en maximal storlek på 1 MB.
Klienthändelser: Händelser skapas under livscykeln för en klientanslutning. En enkel WebSocket-klientanslutning skapar till exempel en
connect
händelse när den försöker ansluta till tjänsten, enconnected
händelse när den har anslutits till tjänsten, enmessage
händelse när den skickar meddelanden till tjänsten och endisconnected
händelse när den kopplas från tjänsten. Information om klienthändelser visas i avsnittet Klientprotokoll .Händelsehanterare: Händelsehanteraren innehåller logiken för att hantera klienthändelserna. Registrera och konfigurera händelsehanterare i tjänsten via portalen eller Azure CLI i förväg. Information beskrivs i avsnittet Händelsehanterare .
Händelselyssnare(förhandsversion): Händelselyssnaren lyssnar bara på klienthändelserna men kan inte påverka livslängden för dina klienter genom deras svar. Information beskrivs i avsnittet Händelselyssnare .
Server: Servern kan hantera klienthändelser, hantera klientanslutningar eller publicera meddelanden till grupper. Både händelsehanterare och händelselyssnare anses vara serversidan. Information om servern beskrivs i avsnittet Serverprotokoll .
Viktigt!
Hub
, Group
, UserId
är viktiga roller när du hanterar klienter och skickar meddelanden. De kommer att krävas parametrar i olika REST API-anrop som oformaterad text. Placera därför INTE känslig information i dessa fält. Till exempel autentiseringsuppgifter eller ägartoken som har hög läckagerisk.
Arbetsflöde
Ett vanligt arbetsflöde som använder tjänsten visas enligt nedan:
Som illustreras av arbetsflödesdiagrammet ovan:
En klient ansluter till en hubb i tjänsten med hjälp av WebSocket-transport. Tjänsten kan vidarebefordra meddelandena till den konfigurerade överordnade (servern) eller hantera meddelandena på egen hand och tillåta klienterna att göra pub/sub direkt, beroende på vilket protokoll klienten använder. Information beskrivs i klientprotokoll.
Tjänsten anropar servern med CloudEvents-protokollet på olika klienthändelser. CloudEvents är en standardiserad och protokollagnostisk definition av strukturen och metadatabeskrivningen för händelser som hanteras av Cloud Native Computing Foundation (CNCF). Information beskrivs i serverprotokollet.
Servern kan anropa tjänsten med hjälp av REST API för att skicka meddelanden till klienter eller för att hantera anslutna klienter. Information beskrivs i serverprotokollet