WebSocket Ping prieš TCP Keepalive per proxy
Pasirinkite WebSocket partnerio gyvybingumo patikrą, o ne laikykite gyvo TCP lizdo įrodymu, kad programos kelias atsako.
Gyvas TCP lizdas, reaguojantis WebSocket partneris ir naudinga programos pažanga yra skirtingi stebėjimai:
| Įrodymas | Ką jis nustato |
|---|---|
| Gyvybingumas TCP lygmenyje | Tikrinamas transporto kelias atsako tame lygmenyje |
| Atitinkantis WebSocket Pong | Partneris atsakė į tą valdymo kadrą |
| Programos patvirtinimas | Programa patvirtino operaciją pagal savo protokolą |
Persiuntimo proxy paprastai palaiko atskirus kliento ir paskirties ryšius. Kliento TCP partneris yra proxy, o Ping, esantis nustatytame tunelyje, keliauja į WebSocket galinį tašką.
Atitinkantis Pong
Protokolas reikalauja, kad atsakantis Pong perduotų Ping programos duomenis. Naudokite tą atitikimą, kad nustatytumėte neišspręstą patikrą. Neprašytas Pong leidžiamas, bet neprašo patvirtinimo; jo siuntimas po kiekvieno duomenų pranešimo suteikia kitokį įrodymą.
Pirmenybę teikite bibliotekos palaikomam širdies plakimo mechanizmui. Naršyklės JavaScript vietoj to reikiaprogramos širdies plakimo sutarties. Intervalus ir gedimų slenksčius rinkitės pagal darbo krūvį ir tinklo politiką. Planavimo pauzės ar perkrauta įvykių kilpa gali praleisti agresyvų slenkstį taip ir neįrodžiusios, kad tinklas sugedo.
Išlaikykite imtuvą veikiantį
Klientui reikia nuolatinės I/O, kad gautų ir apdorotų valdymo kadrus. To mechanizmo blokavimas gali priversti vietinį resurso trūkumą atrodyti kaip sutrikimas.
Ping sukuria tunelio srautą, bet kiekvienas tarpininkas pats sprendžia, kas patenkina jo tuščiosios eigos politiką. Joks širdies plakimas negarantuoja apsaugos nuo absoliučios ryšio trukmės ribos.
Partneris gali atsakyti į Ping, nors jo programa nustoja kurti atnaujinimus, o tyli prenumerata gali būti sveika. Stebėkite paskutinį galiojantį Pong ir reikšmingą programos įvykį atskirai, kai abu svarbūs. Gedimo atveju išsaugokite maršrutą, praėjusį laiką ir neišspręstą patikrą, tada uždarykite arba atkurkite per palaikomą gyvavimo ciklą.