Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Web PubSub oferuje wiele sposobów dodania komunikacji w czasie rzeczywistym do aplikacji. Możesz zacząć od elastycznych prymitywów komunikacji, utrzymywać ustalony protokół i model programowania lub korzystać z API zaprojektowanych pod konkretną sytuację aplikacyjną.
Właściwy wybór pozwala uniknąć budowania lub obsługi możliwości, które nie wyróżniają Twojej aplikacji. Ten artykuł wyjaśnia, co każda opcja oferuje, co pozostaje pod Twoją kontrolą oraz gdzie każda z nich przynosi największą wartość.
Wybierz na podstawie tego, co chcesz zbudować
| Jeśli zajdzie taka potrzeba... | Zacznij od... | Dlaczego |
|---|---|---|
| Zaprojektuj niestandardowe zachowanie w czasie rzeczywistym dla pulpitów, gier, powiadomień, streamingu tokenów AI, sygnalizacji lub innych scenariuszy aplikacyjnych | Web PubSub (usługa podstawowa) | Kontrolujesz protokół aplikacji i logikę biznesową, podczas gdy Azure zarządza połączeniami i dostarczaniem wiadomości. |
| Skaluj istniejącą aplikację Socket.IO lub korzystaj z API i ekosystemu Socket.IO | Socket.IO Azure | Zachowujesz model programowania Socket.IO bez obsługi infrastruktury Socket.IO połączenia czy adaptera. |
| Połącz klientów MQTT przez WebSocket lub wymieniaj wiadomości między MQTT a klientami Web PubSub | Wsparcie MQTT | Możesz użyć bibliotek klienckich MQTT i pozwolić Web PubSub tłumaczyć między obsługiwanym MQTT a natywnymi koncepcjami. |
| Dodaj czat jeden na jeden lub grupowy z pokojami, członkostwem, kolejnością wiadomości i historią | Czat Web PubSub | Otrzymujesz specyficzne dla czatu API i zarządzane funkcje czatu, zamiast projektować je na podstawie niskopoziomowych prymitywów komunikatorskich. |
Zrozum, jak różnią się te możliwości
Pomyśl o bazowym Web PubSub jako o elastycznej podstawie czasu rzeczywistego. Daje ci elementy budulcowe, takie jak połączenia, użytkownicy, grupy i wydarzenia. To ty decydujesz, co te elementy oznaczają w twojej aplikacji.
Pozostałe możliwości usuwają pracę na rzecz bardziej specyficznych potrzeb:
- Socket.IO na Azure zachowuje model programowania, który Socket.IO programiści już znają.
- Wsparcie MQTT adaptuje wspierany podzbiór MQTT do Web PubSub, dzięki czemu klienci MQTT mogą uczestniczyć w wiadomościach w czasie rzeczywistym.
- Czat Web PubSub oferuje wyższy model aplikacji dla pokoi, członków, wiadomości i historii.
To nie są wymienne nazwy dla tego samego API. Najlepszą opcją jest ta, która odpowiada abstrakcjom, które twoja aplikacja już używa lub musiałaby budować.
| Area | Web PubSub (usługa podstawowa) | Socket.IO Azure | Obsługa protokołu MQTT | Czat Web PubSub |
|---|---|---|---|---|
| Wartość podstawowa | Elastyczne elementy budulcowe w czasie rzeczywistym | Znane Socket.IO rozwoju bez samodzielnego skalowania | Kompatybilność klienta MQTT i interoperacyjność protokołów | Model czatu gotowy do użycia |
| Powierzchnia programowa | Web PubSub SDK, podprotokoły WebSocket, obsługiwacze zdarzeń oraz API REST | Socket.IO API klienta i serwera | Obsługiwane pakiety i koncepcje MQTT przez WebSocket | API klienta czatu i serwera |
| Główne koncepcje zastosowania | Połączenia, użytkownicy, grupy i wydarzenia | Gniazda, pokoje, przestrzenie nazw i wydarzenia | Klienci, tematy, subskrypcje i wiadomości | Użytkownicy, pokoje, członkowie, wiadomości i historia |
| Azure handles | Cykl życia połączenia, skalowanie, routing i rozprzestrzenianie się wiadomości | Hosting połączeń, skalowanie i koordynacja między serwerami aplikacji | Tłumaczenie pomiędzy obsługiwanymi koncepcjami MQTT a Web PubSub | Dostawa w czasie rzeczywistym, rozstawienie, członkostwo w pokoju, kolejność wiadomości i wytrwałość |
| Ty projektujesz | Model zdarzeń, payloady, przepływ autoryzacji, logika biznesowa oraz ewentualna trwałość | Zdarzenia aplikacyjne i logika biznesowa | Projekt tematów, logika biznesowa i możliwości poza obsługiwanym podzbiorem MQTT | Doświadczenie na czacie, tożsamości aplikacji, przydziały autoryzacji i logika biznesowa |
| Najlepsze dopasowanie | Niestandardowe lub mieszane obciążenia czasu rzeczywistego | Nowe lub istniejące zastosowania Socket.IO | Klienci webowi korzystający z bibliotek MQTT lub mieszanych klientów MQTT i Web PubSub | Aplikacje, w których czat jest funkcją produktu |
Web PubSub (usługa podstawowa)
Wybierz bazowy Web PubSub, gdy elastyczność jest cenniejsza niż model aplikacji stworzony specjalnie na ten sposób. Zapewnia zarządzany transport i routing w czasie rzeczywistym, pozostawiając model zdarzeń i zachowania biznesowe pod Twoją kontrolą.
Na przykład Twoje zgłoszenie może:
- Wyślij aktualizację do wszystkich podłączonych klientów, grupy, jednego użytkownika lub jednego połączenia.
- Otrzymuj zdarzenia klienta na serwerze aplikacji lub w Azure Functions.
- Pozwól autoryzowanym klientom publikować wiadomości bezpośrednio do grupy.
- Używaj niestandardowych payloadów i zdarzeń do specyficznych dla aplikacji workflow.
Ta elastyczność jest przydatna przy transmisjach na żywo, koordynacji multiplayer, powiadomieniach, doświadczeniach współpracy, aktualizacjach urządzeń, sygnalizacji oraz streamingu tokenów AI. Unikasz obsługi serwerów WebSocket, ale nadal projektujesz funkcje domeny, takie jak utrzymywanie wiadomości, historia czy członkostwo na czacie, gdy aplikacja ich potrzebuje.
Socket.IO Azure
Wybierz Socket.IO na Azure, gdy Twój zespół już korzysta z Socket.IO lub chce jego API i ekosystem napędzany zdarzeniami.
W aplikacji Socket.IO hostowanej samodzielnie Twój zespół musi utrzymywać stanowe połączenia klientów i koordynować wiele Socket.IO serwerów za pomocą adaptera. Socket.IO on Azure zarządza infrastrukturą łączną i koordynacją serwerów. To zarządzanie pozwala serwerom aplikacji skupić się na obsłudze zdarzeń i logice biznesowej.
Kluczową wartością jest ciągłość: możesz zachować model programowania Socket.IO i migrować istniejącą aplikację z ograniczonymi zmianami w kodzie, zamiast przeprojektować ją wokół innego API czasu rzeczywistego.
Aby dowiedzieć się więcej, zobacz Przegląd Socket.IO na Azure.
Obsługa protokołu MQTT
Wybierz wsparcie MQTT, gdy klienci korzystają z bibliotek MQTT i łączą się przez WebSocket, lub gdy klienci MQTT muszą wymieniać wiadomości z natywnymi klientami Web PubSub.
Web PubSub rozpoznaje wspierane komunikaty MQTT i mapuje koncepcje MQTT, takie jak tematy i subskrypcje, na koncepcje Web PubSub. To mapowanie oszczędza ci budowy i obsługi osobnej warstwy tłumaczenia protokołów.
Wsparcie MQTT w Web PubSub to lekka adaptacja, a nie pełny broker MQTT. Obsługuje tylko funkcje MQTT, które mapują się na Web PubSub. Nie obsługiwane są funkcje takie jak subskrypcje dzikie karty, wiadomości zachowane, subskrypcje współdzielone czy aliasy tematyczne.
Jeśli Twoje rozwiązanie wymaga kompleksowego brokera MQTT, rozważ wsparcie MQTT w Azure Event Grid. Wspierane scenariusze Web PubSub oraz szczegóły protokołu można znaleźć w MQTT w usłudze Azure Web PubSub.
Czat Web PubSub
Wybierz Web PubSub, gdy czat jest funkcją produktu i chcesz poświęcić czas rozwojowy na doświadczenie użytkownika, a nie na tworzenie modelu czatu.
Korzystając z podstawowego Web PubSub, możesz tworzyć własny czat, ale Twój zespół definiuje ładunki wiadomości i implementuje takie kwestie jak pokoje, członkostwo, kolejność wiadomości i historię. Web PubSub oferuje te koncepcje poprzez specjalnie stworzone API i SDK.
Web PubSub to wyższa funkcjonalność oparta na infrastrukturze czasu rzeczywistego Web PubSub. Zapewnia:
- Rozmowa jeden na jeden i czat grupowy.
- Pokoje i zarządzanie członkami.
- Zamówiłem wiadomości w czasie rzeczywistym.
- Trwałość wiadomości i historia pokoju.
- Role i uprawnienia do operacji czatu.
Nadal posiadasz integrację tożsamości swojej aplikacji, doświadczenie użytkownika i reguły biznesowe, podczas gdy usługa obsługuje wspólną infrastrukturę czatu.
Aby dowiedzieć się więcej, zobacz: Czym jest czat Web PubSub?
Dokonaj wyboru
Użyj tych pytań, aby zawęzić decyzję:
- Czy musisz zachować Socket.IO API czy migrować aplikację Socket.IO? Wybierz Socket.IO na Azure.
- Czy Twoi klienci muszą komunikować się za pomocą obsługiwanego protokołu MQTT zamiast WebSocket? Wybierz wsparcie MQTT.
- Czy potrzebujesz wbudowanych pokoi, członków, kolejności wiadomości i historii wiadomości do czatowania? Wybierz Web PubSub czat.
- Czy potrzebujesz niestandardowego modelu zdarzenia, czy scenariusza w czasie rzeczywistym, który nie pasuje do poprzednich opcji? Wybierz Web PubSub (usługa podstawowa).
Wybór bardziej wyspecjalizowanej funkcji może skrócić czas tworzenia, ponieważ Azure oferuje więcej modelu aplikacji. Wybór usługi bazowej daje Ci większą kontrolę, gdy Twoje potrzeby są wyjątkowe. Zacznij od najwyższego poziomu możliwości, które spełniają Twoje potrzeby, i korzystaj z usługi bazowej, gdy ta elastyczność przynosi wartość dla Twojej aplikacji.