Зваротны выклік перападключэння выконваецца, і новы сокет адкрываецца. Гэта аднаўленне транспарту. Яно не азначае, што вашы падпіскі, пацверджанні паведамленняў або сеанс праграмы працягнуліся з таго месца, дзе спынілася папярэдняе злучэнне.

Нават той жа канечны пункт проксі можа стварыць новае знешняе злучэнне. Зменены выходны IP таксама можа выклікаць уласную палітыку сеансаў прызначэння. Разглядайце новы сокет як новае злучэнне і выконвайце дакументаваны абмен аднаўлення праграмы. Вырашыце, ці працоўны працэс павінен захаваць свой маршрут праз проксі пры перападключэнні.

Захавайце крыху больш за апошні URL

Карысны стан аднаўлення можа ўключаць аўтарызаваную ідэнтычнасць сеанса, патрэбныя падпіскі, ідэнтыфікатар апошняй пацверджанай падзеі і аперацыі, якія яшчэ чакаюць пацверджання. Гэтыя палі належаць пратаколу праграмы; WebSocket не вызначае ўніверсальны токен працягу.

Вырашыце, ці аднаўляць з курсора, атрымаць новы здымак стану або прыняць прабел. Калі крыніца падзей не прапануе інтэрфейс прайгравання, больш хуткае перападключэнне не можа даказаць, што паведамленні не былі страчаны.

Двойчы адправіць можа значыць двойчы выканаць

Паведамленне, пастаўленае ў чаргу лакальна перад раз'яднаннем, магчыма, ніколі не пакідала кліент. Іншае магло дайсці да сервера, пакуль яго пацверджанне было страчана. Сляпое паўторнае адпраўленне кожнай непацверджанай каманды разглядае гэтыя два выпадкі як аднолькавыя.

Выкарыстоўвайце ідэнтыфікатары запытаў сэрвісу, падтрымку ідэмпатэнтнасці або механізм згаднення, дзе яны даступныя. Перападключэнне транспарту не можа зрабіць дзеянне праграмы адваротным або аўтаматычна выдаліць яго дублікаты.

Трымайце спробы перападключэння абмежаванымі і ўзгадняйце тэмп з палітыкай праграмы. RFC 6455 рэкамендуе адкат пасля ненармальнага закрыцця; мноства кліентаў, якія паўтараюць спробы адразу, могуць павялічыць нагрузку падчас збою.

Запісвайце, які маршрут праз проксі выбрала кожная спроба, але трымайце аднаўленне маршруту асобна ад аднаўлення праграмы. «Зноў падключаны» — карысны доказ. «Даследаваў і гатовы адпраўляць больш працы» патрабуе дадатковага абмену праграмы, які гэта ўстанаўлівае.

Падобныя артыкулы