Մեկ հաշվի համար մեկ նիստ թույլ տվող քաղաքականությունը թվում է լուծված, մինչև չգա երկրորդ մուտքը։ Հնարավոր են երկու ելք՝ նորեկը փոխարինում է ընթացող նիստին, կամ ընթացող նիստը պահում է սլոթը, և նորեկը մերժվում է։ Միայն երկրորդն է առաջին նիստը հաղթում է քաղաքականությունը։ Այն հաճախորդի ընտրանքը, որին դիմում են մեծ մասը, միացնում է զուգահեռությունը և հետևաբար չի տալիս այդ արդյունքը։

Մեկ կարգավորման հետևում թաքնված են երկու պայմանագիր

Զուգահեռությունն անջատված լինելու դեպքում նույն վկայագրի անունը կրող երկրորդ միացումը կարող է տեղահանել արդեն աշխատող նիստը։ Զուգահեռությունը միացնելը թույլ է տալիս միաժամանակ մի քանի նիստ, ինչը սահմանափակման հակառակն է։ Ոչ մի վիճակ մերժման քաղաքականություն չէ, ուստի որոշումը պետք է կայացվի բոլորովին այլ տեղ։

Գրի առեք պայմանագիրը նախքան որևէ բան ներդնելը՝ ով է մերժվում, ինչ ապացույց է նույնացնում ընթացող նիստը, և ինչ է տեղի ունենում, երբ նիստը մահանում է առանց մաքուր անջատման։ Քաղաքականությունը, որը ոչ ոք այդպես չի ձևակերպել, հնարավոր չէ ավելի ուշ ստուգել։

Դուրսբերումը տեղի է ունենում ձեր միացման կեռիկից առաջ

2.6 սերվերի կոդի ուղու վրա նոր հաճախորդի վաղ նախապատրաստումը հեռացնում է նույն անունով գոյություն ունեցող օրինակները, երբ զուգահեռությունն անջատված է։ Այդ հեռացումը տեղի է ունենում մինչև միացման մշակիչների շղթայի աշխատելը։ Ուստի սկրիպտը, որը նկատում է կրկնօրինակը և վերադարձնում ձախողում, մերժում է նորեկին այն բանից հետո, երբ ընթացող նիստն արդեն դուրս է նետվել՝ հենց այն արդյունքը, որը քաղաքականությունը պետք է կանխեր։ Upstream իրականացման հետկանչների հերթականությունը ձեր կառուցման միակ հուսալի պատասխանն է։

StageWho can still refuseEffect on the incumbent
Certificate checkServer trust configurationNone
Authentication decisionThe authentication controllerNone, because establishment has not run
Connect handlerA profile scriptAlready evicted in the same-name case
Post-establishmentStatus tooling, monitoringBoth sessions already exist or one is gone

Կարգավիճակի ֆայլի հարցումը նույնպես դարպաս չէ։ Միասին եկող երկու փորձեր կարող են երկուսն էլ տեսնել դատարկ սլոթ, նախքան դրանցից մեկը կհաստատի այն, և երկուսն էլ շարունակում են։

Տեղափոխեք որոշումը նույնականացման մեջ

Կառավարման միջերեսը կարող է ստանձնել նույնականացման որոշումը վկայագրի ստուգումից հետո։ Այդ դասավորության մեջ կարգավորիչը դիտորդ չէ. այն ստանում է յուրաքանչյուր միացող հաճախորդի օրինակ և պատասխանում՝ թույլատրվա՞ծ է արդյոք այդ օրինակին շարունակել։ Քանի որ պատասխանը գալիս է հաստատումից առաջ, մերժումը թողնում է ընթացող նիստն անձեռնմխելի։ Նույն ուղին հաղորդում է անջատումների մասին, և այդպես կարգավորիչը իմանում է, որ սլոթը օրինականորեն ազատվել է։

Յուրաքանչյուր նոր օրինակ պետք է անցնի այդ դարպասով, ներառյալ վերամիացումները և ցանկացած ուղի, որը վերանույնականացնում է առանց հարցման։ Դարպասը, որին որոշ օրինակներ երբեք չեն հասնում, ոչինչ չի պաշտպանում, և բացթողումը մնում է անտեսանելի, մինչև ինչ-որ մեկը փորձի շրջանցումը։

Տոկենները կարող են անցնել դարպասի կողքով

Տոկեն թողարկվելուց հետո սերվերը կարող է այն ներքուստ վավերացնել և շրջանցել արտաքին նույնականացումը այդ միացման համար։ Կառավարման կանչը երբեք տեղի չի ունենում, ուստի միայն այնտեղ ներդրված սլոթի ստուգումը երբեք չի տեսնում նոր օրինակը։ Այդ վարքը հարմարություն է օգտագործողների համար և անցք զուգահեռության քաղաքականության մեջ։ Ստիպեք տոկենով նույնականացված միացումներին անցնել համարժեք հեղինակավոր ստուգում, կամ անջատեք տոկենի ուղին, երբ քաղաքականությունը պահանջում է որոշում յուրաքանչյուր միացման համար։

Մի՛ փոխհատուցեք դա՝ առանց պայմանի ընդունելով յուրաքանչյուր տոկեն։ Ժամկետանց կամ անվավեր տոկենը դեռ պետք է ձախողվի, և այն պետք է ձախողվի նույն որոշման կետով, ինչ մնացած ամեն ինչ։

Կապեք ամրագրումը օրինակին, ոչ թե հասցեին

Հասցեն վատ ինքնություն է. նույն նոթբուքից վերամիացումը կարող է գալ այլ հասցեից, և պատճենված հավատարմագրերը կարող են գալ նույն հասցեից։ Կապեք ամրագրումը սերվերի կողմից տրված հաճախորդի օրինակին, որպեսզի արդեն ընդունված օրինակի վերանույնականացումը ճանաչվի որպես սեփականատեր։ Նոր օրինակի նույնացուցիչը պետք է ձեռք բերի իր սլոթը առաջինը հաղթում է որոշման միջոցով նույնիսկ այն դեպքում, երբ ներկայացնում է նույն տոկենը։

Ազատեք միայն ձախողված փորձին պատկանող ամրագրումը։ Ավելի հին փորձից ուշացած անջատման իրադարձությունը չպետք է ջնջի ավելի նոր սեփականատիրոջ սլոթը, դրա համար ազատումը նշում է օրինակը, ոչ թե հաշիվը։ Կարգավորիչի վերսկսումից հետո համաձայնեցրեք կենդանի նիստերը նախքան որևէ մեկին ընդունելը, և կիրառեք նույն կանոնը յուրաքանչյուր դարպասում, որը սպասարկում է հաշիվը։

Առանձին որոշեք, թե ինչպես է վերականգնվում իսկապես հնացած սլոթը։ Ադմինիստրատորին անհրաժեշտ է փաստաթղթավորված միջոց այն մաքրելու համար, և այդ ուղին չպետք է հասանելի լինի այն օգտագործողին, ով պարզապես սեղմում է վերամիանալ։

Փորձարկեք կարևոր զույգերը՝ երկու գրեթե միաժամանակյա մուտք, վերամիացում մաքուր անջատումից հետո, ընթացող նիստի վերանույնականացում, մերժված նորեկ և կարգավորիչի վերսկսում։ Յուրաքանչյուր դեպքում ընթացող նիստը պետք է մնա օգտագործելի, իսկ նորեկը մերժվի առանց այլ հաշիվներին վնասելու։

Առնչվող հոդվածներ