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

Երեք գրառում երեք տարբեր ժամացույցներով

Դիտարկումը այն դաշտն է, որը ստացել եք, այն հոսքը, որտեղից այն եկել է, և դրա հետևում կանգնած տվյալների հավաքածուի տարբերակը: Թարմությունը քեշի գրառման հատկություն է. երբ որոնումը կատարվել է, երբ գրառմանը այլևս չեն վստահում, և արդյոք վերջին թարմացումը ինչ-որ բան վերադարձրել է: Պատասխանը այն է, ինչ ձեր կայքը անում է դրա վերաբերյալ այս հարցման, այս հաշվի կամ այս գործողության համար: Դրանք արտադրում են տարբեր սեփականատերեր և դրանք քայքայվում են տարբեր արագությամբ, դրա համար էլ blocked անունով մեկ տողը ոչնչացնում է այդ տարբերությունը:

RecordWho owns itHow long it should liveDamage when it is folded into another row
The observationthe feed's operatoruntil a newer dataset version replaces ita stale lookup becomes indistinguishable from a fresh one
Its freshnessthe applicationone request's tolerance for agea failed refresh hides behind a cache hit
The responsewhoever owns the site policyuntil that policy is revieweda feed outage turns into an indefinite block

Երկու ժամացույց հատուկ ուշադրության արժանի են: Այն պահը, երբ ձեր որոնումը կատարվել է, այն պահը չէ, երբ մատակարարը հրապարակել է տվյալների հավաքածուն, և ավելի ուշ տողը կարդացող օպերատորը պետք է իմանա, թե այդ երկուսից որից է եկել յուրաքանչյուր արժեք: Սահմանեք ժամկետը և թարմացումը հոսքի փաստաթղթավորված թարմացման մոդելով և սխալվելու արժեքով, երբեք՝ այլ կայքից փոխառված թվով:

Պահեք դաշտը, ոչ թե վճիռը

MaxMind-ի անանուն IP-ների մասին փաստաթղթերը մեկ հստակ օրինակ են այն հոսքի, որը անանուն VPN-ը, հոսթինգ մատակարարին, հանրային վստահված սերվերին և Tor-ի ելքը բաժանում է առանձին դաշտերի: Այն նաև փաստաթղթավորում է, որ չգրանցված VPN ենթացանցը կարող է փոխարենը հայտնվել հոսթինգի դրոշի տակ: Դա մեկ boolean-ի մեջ հարթելը դեն է նետում այն միակ մասը, որը օպերատորը հետագայում կարող էր աուդիտ անել:

Եզրակացության ոչ մի ուղղություն ապահով չէ: Հոսթինգի պիտակը չի հաստատում, որ թունել է օգտագործվել, և VPN դրոշի բացակայությունը չի հաստատում, որ ոչինչ չի եղել հաճախորդի և ձեր ծառայության միջև: Դրանք երկու տարբեր պնդումներ են, և մեկ boolean-ը չի կարող արտահայտել դրանցից ոչ մեկը:

Կապեք գրառումը ձեր ստուգած հասցեին

Հակադարձ վստահված սերվերի հետևում հավելվածը պետք է օգտագործի տեղաբաշխման կողմից հաստատված հաճախորդի հասցեի մշակումը: Զանգահարողի տրամադրած փոխանցման վերնագիրը երբեք չպետք է կարողանա ընտրել ուրիշի քեշավորված համբավը:

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

Ապացույցի բացակայությունը մաքուր արդյունք չէ

Ժամանակի սպառումը, աղավաղված պատասխանը և անհասանելի տվյալների բազան յուրաքանչյուրը նշանակում է այլ բան, քան ոչնչի չհամապատասխանած հաջող որոնումը: Ներկայացրեք դրանք որպես առանձին ելքեր և նախապես որոշեք, թե ինչ է անում պաշտպանված գործողությունը, երբ ապացույց ընդհանրապես չկա: Միայն կարդալու էջը և մուտք գործած հաշվի գործողությունը կարող են այնտեղ ողջամտորեն հետևել տարբեր կանոնների:

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

Պահպանումը նույն որոշման մասն է. պահեք այն դաշտերը, որոնք այս ֆունկցիան պահանջում է, և դրանց հետևում եղած վերանայման հետքը, ոչ ավելին: IP քեշը պարտավոր չէ դառնալ դիտարկման պատմություն:

Ընդունեք չորս դեպք, ներառյալ ուղղում

Փորձարկեք թարմ արդյունք, ժամկետանց արդյունք, ձախողված որոնում և ավելի ուշ ուղղված դասակարգում: Յուրաքանչյուրը վարժեցնում է տարբեր ճյուղ, և միայն վերջինն է ցույց տալիս, թե արդյոք սխալ սահմանափակումը կարող է չեղարկվել:

Այնուհետև հաստատեք, որ սովորական օգտատերն ունի սխալ արգելափակումից հետո վերանայում խնդրելու ուղի, որովհետև հոսքը երբեմն սխալ կլինի, և հերթը դիզայնի մասն է: Գրեք չորս դեպքերը runbook-ում քաղաքականության սեփականատիրոջ անվան կողքին: Դիզայնը վաստակում է իր տեղը, երբ հեռացնում է ավելորդ որոնումները՝ անփոփոխ պահելով անորոշությունը և որոշումը տեսանելիորեն մարդու պատկանելիությունը:

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