WebSocket komunikácia pre real-time aplikácie – živé prehľady, chaty a notifikácie, ktoré doručíme okamžite a bez zbytočného pollingu. Pri klasickom opakovanom dopytovaní server odpovedá stokrát zbytočne, aby jedenkrát odpovedal užitočne; WebSocket tento pomer otáča.
Typické nasadenie
Dispečerské a operátorské obrazovky, kde musí byť stav vždy aktuálny. Chat a podpora priamo v aplikácii. Živé prehľady objednávok, výroby alebo doručovania. Notifikácie o dokončení dlhých úloh, aby používateľ nemusel obnovovať stránku. A kolaboratívne rozhrania, kde viacerí ľudia pracujú nad tým istým záznamom naraz.
Čo treba ošetriť
- Automatické obnovenie spojenia a dobehnutie zmien, ktoré počas výpadku ušli.
- Overenie a autorizácia spojenia, aby klient nedostal cudzie dáta.
- Škálovanie na viac serverov so zdieľanou distribúciou správ.
- Obmedzenie frekvencie správ, aby klienta nezahltili zbytočné aktualizácie.
- Náhradné riešenie pre siete, ktoré trvalé spojenia blokujú.
Ako to posudzujeme
Nie každá aplikácia potrebuje trvalé spojenie. Ak sa dáta menia raz za pár minút, jednoduché načítanie na pozadí je lacnejšie a menej krehké. WebSocket nasadzujeme tam, kde má oneskorenie reálnu cenu – pri kapacitách, cenách, rezerváciách alebo koordinácii ľudí v teréne.
Riešenie navrhujeme tak, aby aplikácia fungovala aj vtedy, keď spojenie nie je dostupné.
Časté otázky
Potrebujeme na to samostatný server?
Nie nevyhnutne. Pri menšom počte súčasne pripojených používateľov zvládne spojenia rovnaká infraštruktúra ako web. Pri vyšších číslach oddelíme real-time vrstvu, aby výpadok alebo záťaž jednej časti neovplyvnili druhú.
Čo ak firemná sieť zákazníka blokuje trvalé spojenia?
Aplikácia v takom prípade prejde na náhradný spôsob prenosu a funguje ďalej, len s väčším oneskorením. Toto správanie testujeme vopred, aby sa problém neobjavil až u konkrétneho klienta v produkčnej prevádzke.
Ste pripravení posunúť váš biznis na ďalšiu úroveň?
Poďme sa porozprávať