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:

  • Anslut ion: En anslutning, även känd som en klient eller en klientanslutning, representerar en enskild WebSocket-anslutning som är ansluten till Web PubSub-tjänsten. När anslutningen har anslutits tilldelas ett unikt anslutnings-ID till den här anslutningen av Web PubSub-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: Anslut ions 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.

  • Klient Anslut ion och Anslut ionId: En klient ansluter till slutpunkten, när den /client är ansluten genereras en unik connectionId av tjänsten som den unika identiteten för klientanslutningen. Användarna kan sedan hantera klientanslutningen med hjälp av den här connectionId. Information beskrivs i avsnittet Klientprotokoll .

  • 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, en connected händelse när den har anslutits till tjänsten, en message händelse när den skickar meddelanden till tjänsten och en disconnected 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:

Diagram showing the Web PubSub service workflow.

Som illustreras av arbetsflödesdiagrammet ovan:

  1. En klient ansluter till tjänstslutpunkten /client med hjälp av WebSocket-transport. Tjänsten vidarebefordrar varje WebSocket-ram till den konfigurerade överordnade (servern). WebSocket-anslutningen kan ansluta till valfri anpassad underprotokol som servern ska hantera, eller ansluta med de underprotokoler som stöds av tjänsten (t.ex. json.webpubsub.azure.v1) som gör att klienterna kan göra pub/sub direkt. Information beskrivs i klientprotokoll.

  2. 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.

  3. 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