Ei Habr!
O aso nei matou te faʻaalia se faʻaliliuga o se tala faʻalavelave e uiga i le faʻatinoina o le tufatufaina o loka e faʻaaoga ai Redis ma valaʻaulia oe e talanoa e uiga i faʻamoemoega o Redis o se autu. Iloiloga o le Redlock algorithm o loʻo fesiligia mai ia Martin Kleppmann, tusitala o le tusi "", tuuina atu .
Loka fa'asoasoaina ose fa'aoga sili ona aoga fa'aoga i le tele o si'osi'omaga e eseese faiga e tatau ona galue ai i fa'asoa fa'asoa i se faiga fa'apitoa.
O loʻo i ai le tele o faletusi ma pou o loʻo faʻamatalaina pe faʻapefea ona faʻaogaina le DLM (Distributed Lock Manager) e faʻaaoga ai Redis, ae o faletusi taʻitasi e faia se auala ese ma o faʻamaoniga latou te tuʻuina atu e fai si vaivai pe a faʻatusatusa i mea e mafai ona ausia i se mamanu sili atu.
I totonu o lenei tusiga, o le a matou taumafai e faʻamatala se algorithm canonical conditional e faʻaalia ai pe faʻapefea ona faʻaogaina le loka tufatufaina e faʻaaoga ai Redis. O le a tatou talanoa e uiga i se algorithm e taʻua Loka mumu, o loʻo faʻatinoina se pule loka tufatufaina ma, i lo matou manatu, o lenei algorithm e sili atu le saogalemu nai lo le masani masani faʻataʻitaʻiga. Matou te faʻamoemoe o le a suʻesuʻeina e le nuʻu, tuʻuina atu manatu, ma faʻaaogaina e fai ma amataga mo galuega faʻalavelave poʻo isi galuega.
Fa'atinoga
Aʻo leʻi alu i le faʻamatalaga o le algorithm, matou te tuʻuina atu ni fesoʻotaʻiga i faʻatinoga ua saunia. E mafai ona faʻaaogaina mo faʻamatalaga.
- (fa'atinoga mo Ruby). E iai foʻi Redlock-rb, lea e faʻaopoopoina se afifi (maa) mo le faigofie o le tufatufaina, ma e le gata mo lena.
- (Python faʻatinoga).
- (fa'atinoga mo Asyncio Python).
- (fa'atinoga mo PHP).
- (seisi fa'atinoga mo PHP)
- (faletusi PHP mo loka)
- (fa'atinoga mo Go).
- (fa'atinoga mo Java).
- (fa'atinoga mo Perl).
- (fa'atinoga mo C++).
- (fa'atinoga mo C#/.NET).
- (fa'atinoga mo C#/.NET). Faatasi ai ma le lagolago mo async ma loka faʻaopoopoga.
- (fa'atinoga mo C# .NET fa'atasi ai ma fa'aputu fa'amaumauga)
- (fa'atinoga mo C# .NET)
- (fa'atinoga mo NodeJS). E aofia ai le lagolago mo le fa'alauteleina o loka.
Puipuiga ma Avanoa Faʻamautinoa
O le a matou fa'ata'ita'iina a matou mamanu i na'o le tolu meatotino matou te manatu e maua ai fa'amaoniga aupito maualalo e mana'omia e fa'aoga lelei ai le loka tufatufaina.
- Puipuiga meatotino: Mutual le aofia. I so'o se taimi, e na'o le tasi le tagata o tausia e mafai ona uu le loka.
- Avanoa Meatotino A: Leai ni fa'alavelave. E mafai i taimi uma ona maua se loka, e tusa lava pe le manuia le kalani na lokaina le punaoa pe tuʻu i luga o se isi vaega tisiki.
- Avanoa Meatotino B: Fa'apalepale Fa'aletonu. O le a lava le umi o le tele o Redis nodes o loʻo tamoʻe, e mafai e tagata faʻatau ona maua ma tatala loka.
Aisea e le lava ai le faʻatinoga e faʻavae i le toe faʻaleleia o le toilalo i lenei tulaga
Ina ia malamalama i mea o le a tatou faʻaleleia, seʻi o tatou auʻiliʻili le tulaga o loʻo i ai nei ma le tele o faletusi loka tufatufaina faʻavae i Redis.
O le auala sili ona faigofie e loka ai se punaoa e faʻaaoga ai Redis o le fatuina lea o se ki i le faʻataʻitaʻiga. E masani lava, o se ki e faia i se olaga faʻatapulaʻa, e ausia lenei mea e faʻaaoga ai le faʻaaogaina o le faʻaaliga o loʻo tuʻuina atu i Redis, o lea e le o toe mamao ona tuʻuina atu lea o lenei ki (meatotino 2 i la tatou lisi). A mana'omia e le kalani le fa'amatu'u mai o le puna'oa, e tape le ki.
I le tepa muamua, o lenei fofo e aoga tele, ae o loʻo i ai se faʻafitauli: o le matou fausaga e fatuina ai se tasi o mea o le toilalo. O le a le mea e tupu pe a le manuia le Redis instance? Sei o tatou faaopoopo se pologa! Ma o le a matou faʻaaogaina pe a le avanoa le faʻasalalauga. Ae paga lea, o lenei filifiliga e le mafai. O le faia o lenei mea, o le a le mafai ona tatou faʻatinoina lelei le faʻaogaina o meatotino tatou te manaʻomia e faʻamautinoa ai le saogalemu, aua o le toe faʻaaogaina i Redis e le faʻaogaina.
E manino lava, i sea faʻataʻitaʻiga e tupu ai se tulaga tuuga:
- Client A maua se loka i le matai.
- E toilalo le matai a'o le'i tu'uina atu le ki i le pologa.
- Ua siitia le tagata mulimuli e avea ma taitai.
- E maua e le Client B se loka i le punaoa lava lea e tasi ua uma ona lokaina e A. SULAFONO!
O nisi taimi e matua masani lava i tulaga faʻapitoa, e pei o le toilalo, e tele tagata faʻatau e mafai ona uuina le loka i le taimi e tasi. I tulaga fa'apenei, e mafai ona fa'aogaina se fofo fa'atusa. A leai, matou te fautuaina le fofo o loʻo faʻamatalaina i lenei tusiga.
Fa'atino sa'o ma se fa'ata'ita'iga e tasi
Aʻo leʻi taumafai e faʻatoʻilaloina faʻaletonu o le faʻatulagaga tasi-faʻataʻitaʻiga o loʻo faʻamatalaina i luga, seʻi o tatou malamalama pe faʻafefea ona taulimaina lelei lenei mataupu faigofie, talu ai o lenei fofo e aoga moni lava i talosaga lea e talia ai se tulaga tuuga mai lea taimi i lea taimi, ma ona o le polokaina i luga o se tasi fa'ata'ita'iga e fai ma fa'avae o lo'o fa'aogaina i le fa'asoa fa'asoa fa'amatalaina iinei.
Ina ia maua se loka, fai le mea lenei:
SET resource_name my_random_value NX PX 30000
O lenei poloaiga e faʻapipiʻi ai se ki pe afai e leʻi i ai (filifiliga NX), faʻatasi ai ma se vaitaimi aoga o 30000 milliseconds (PX filifiliga). Ua seti le ki i le “myrandomvalue" O lenei tau e tatau ona tulaga ese i tagata uma ma talosaga loka uma.
O le mea moni, o se tau fa'afuase'i e fa'aaoga e tatala saogalemu ai le loka, fa'atasi ai ma se tusitusiga e ta'u atu ai Redis: na'o le aveese o le ki pe a iai ma o le tau o lo'o teuina i totonu o le mea tonu lava lea na fa'amoemoeina. E maua lenei mea e ala i le fa'aogaina o le fa'amatalaga Lua nei:
if redis.call("get",KEYS[1]) == ARGV[1] then
return redis.call("del",KEYS[1])
else
return 0
endE taua tele lenei mea e puipuia ai se loka o lo'o umia e se isi tagata o tausia mai le aveeseina. Mo se fa'ata'ita'iga, e ono maua e le tagata o tausia se loka, ona loka lea i se ta'aloga e umi atu nai lo le loka muamua (ina ia lava le taimi e muta ai le ki), ma mulimuli ane aveese le loka na tu'u e se isi tagata o tausia.
O le fa'aogaina o se DEL faigofie e le saogalemu ona e mafai e le tagata o tausia ona aveese se loka o lo'o uu e le isi tagata o tausia. I se fa'atusatusaga, pe a fa'aogaina le fa'amatalaga o lo'o i luga, o loka ta'itasi e "saini" i se manoa fa'afuase'i, e na'o le tagata o tausia na tu'uina muamua e mafai ona aveese.
O le a lenei manoa fa'afuase'i? Ou te masalo e tatau ona 20 bytes mai / dev / urandom, ae e mafai ona e maua ni auala taugofie e faʻapitoa ai le manoa mo ou faʻamoemoega. Mo se faʻataʻitaʻiga, e lelei le fatu RC4 ma / dev / urandom ona faʻatupuina ai lea o se pseudo-random stream mai ai. O se vaifofo faigofie e aofia ai le tu'ufa'atasia o le unix time i le microsecond resolution fa'atasi ai ma le ID o tagata o tausia; e le o malupuipuia, ae masalo o le galuega i le tele o tulaga.
O le taimi tatou te faʻaaogaina e fai ma fua o le ola o le ki e taʻua o le "loka ola". O lenei tau o le aofaʻi o le taimi aʻo leʻi otometi ona tatala le loka ma le aofaʻi o le taimi e faʻamaeʻa ai e le tagata o tausia se taotoga aʻo leʻi mafai e le isi tagata o tausia ona loka lena punaoa, e aunoa ma le solia moni o faʻamaoniga e le aofia ai. O lenei faʻamaoniga e faʻatapulaʻaina naʻo se faʻamalama o le taimi, lea e amata mai le taimi na faʻatau ai le loka.
O lea ua matou talanoaina se auala lelei e maua ai ma tatala se loka. O le faiga (pe a tatou talanoa e uiga i se faiga e le tufatufaina atu e aofia ai se faʻataʻitaʻiga e tasi ma avanoa i taimi uma) e malupuipuia. Sei o tatou faalautele atu lenei manatu i se faiga tufatufaina, lea e leai ni a tatou faamaoniga.
Redlock algorithm
O le tufatufaina o le algorithm e manatu o loʻo i ai a matou matai N Redis. O nei pona e matua tuto'atasi lava le tasi i le isi, o lea matou te le fa'aogaina ai le toe fa'afoliga po'o so'o se isi faiga fa'amaopoopo. Ua uma ona matou faʻamatalaina pe faʻafefea ona maua ma tatalaina se loka i se faʻataʻitaʻiga e tasi. Matou te faʻamaonia o le algorithm, pe a galue ma se faʻataʻitaʻiga se tasi, o le a faʻaaogaina tonu lenei metotia. I a matou faʻataʻitaʻiga matou te setiina le N i le 5, o se tau talafeagai. O le mea lea, e manaʻomia le faʻaogaina o le 5 Redis masters i luga o komepiuta eseese poʻo masini masini e faʻamautinoa ai latou te galulue tutoatasi mai le tasi ma le isi.
Ina ia maua se loka, e faia e le kalani ia gaioiga nei:
- Maua le taimi nei i milliseconds.
- Fa'asolosolo taumafai e maua se loka i N taimi uma, fa'aaoga le igoa autu tutusa ma tau fa'afuase'i i tulaga uma. I le Laasaga 2, pe a fa'atulaga e le kalani se loka i se fa'ata'ita'iga ta'itasi, e fa'aaoga e le kalani se fa'atuai e maua ai e fa'apuupuu lava pe a fa'atusatusa i le taimi e otometi ai ona tatala le loka. Mo se faʻataʻitaʻiga, afai o le umi o le poloka e 10 sekone, ona faʻatuai lea e mafai ona i ai i le va o ~ 5-50 milliseconds. O lenei mea e faʻaumatia ai le tulaga e mafai ai e le kalani ona taofia mo se taimi umi e taumafai e oʻo atu i le Redis node ua toilalo: afai e le maua le faʻataʻitaʻiga, ona matou taumafai lea e faʻafesoʻotaʻi i se isi faʻataʻitaʻiga i se taimi vave e mafai ai.
- Ina ia ave se loka, e fuafua e le kalani le tele o le taimi ua alu; Ina ia faia lenei mea, e toese mai le tau moni o le taimi le faailoga taimi na maua i le Laasaga 1. Afai ma pe afai na mafai e le tagata o tausia ona maua le loka i le tele o taimi (a itiiti ifo i le 3), ma le aofaʻi o le taimi na alu ai. maua le loka, itiiti ifo nai lo le umi loka, o le loka ua manatu ua maua.
- Afai ua maua se loka, o le umi o le loka e fa'apea o le taimi muamua o loka to'ese ai le taimi ua uma na fuafuaina i le Laasaga 3.
- Afai e le maua e le tagata o tausia le loka mo nisi mafuaaga (pe na le mafai ona loka N/2+1 taimi, pe le lelei le umi o le loka), ona taumafai lea e tatala uma tulaga (tusa lava i latou na manatu e le mafai ona poloka. ).
O le algorithm e asynchronous?
O lenei algorithm e faʻavae i luga o le manatu e faapea, e ui lava e leai se uati faʻamaopoopoina e faʻaogaina ai gaioiga uma, o taimi faʻapitonuʻu i gaioiga taʻitasi o loʻo tafe pea i le tutusa o le saoasaoa, ma o le mea sese e laʻititi pe a faʻatusatusa i le aofaʻi o le taimi e uma ai le loka. otometi ona tatala. O lenei manatu e talitutusa lava ma le tulaga masani mo komepiuta masani: o komepiuta taʻitasi e iai le uati i le lotoifale, ma e masani ona tatou faʻamoemoe i le mea moni o le eseesega o le taimi i le va o komepiuta eseese e laʻititi.
I le taimi nei, e tatau ona sili atu le faʻaeteete o le faʻatulagaina o la tatou tulafono faʻavae faʻatasi: e faʻamaonia le faʻamavaeina o le tasi pe afai e alu ese le kalani o loʻo uuina le loka i le taimi e aoga ai le loka (o lenei tau e maua i le Laasaga 3), faʻaitiitia se isi taimi (faʻaopoopo nai milliseconds e totogi ai le eseesega o le taimi i le va o faiga).
O lo'o ta'u mai e le tala manaia o lo'o mulimuli mai e uiga i ia faiga e mana'omia ai le fa'amaopoopoina o va'aiga taimi: .
Toe taumafai i le toilalo
A le maua e le tagata o tausia se loka, e tatau ona toe taumafai pe a tuai; e faia lenei mea e de-synchronize le tele o tagata o loʻo taumafai e maua se loka i luga o le punaoa lava e tasi i le taimi e tasi (lea e mafai ona oʻo atu i se tulaga "vaelua-faiai" lea e leai ni tagata manumalo). E le gata i lea, o le saoasaoa o le tagata o tausia e taumafai e maua se loka i le tele o Redis faʻataʻitaʻiga, o le vaapiapi foi o le faʻamalama e mafai ai ona tupu se vaeluaga o le faiʻai (ma le itiiti ifo o le manaʻomia mo le toe suʻega). O le mea lea, o le mea sili, e tatau i le kalani ona taumafai e auina atu SET poloaiga i N taimi i le taimi e tasi e faʻaaoga ai le multiplexing.
E taua le fa'amamafa atu iinei le taua tele mo tagata fa'atau e le mafai ona maua le tele o loka e fa'amatu'u (se vaega) loka na maua, ina ia latou le tau fa'atali mo le ki e mae'a a'o le'i toe maua le loka o le punaoa. (e ui lava pe a tupu le vaeluaga o fesoʻotaʻiga, ma ua le maua e le kalani le fesoʻotaʻiga ma Redis faʻataʻitaʻiga, e tatau ona e totogiina se faʻasalaga avanoa aʻo e faʻatali mo le ki e muta).
Tatala le loka
O le tatalaina o se loka o se gaioiga faigofie e manaʻomia ai le tatalaina o taimi uma, e tusa lava pe foliga mai na lokaina e le kalani se mea faʻapitoa.
Manatuga Puipuiga
E saogalemu le algorithm? Sei o tatou taumafai e vaai faalemafaufau i le mea e tupu i tulaga eseese.
I le amataga, tatou manatu na mafai e le kalani ona maua se loka i le tele o taimi. O fa'ata'ita'iga ta'itasi o le a iai se ki e tutusa le olaga mo tagata uma. Ae ui i lea, o nei ki taitasi na faʻapipiʻiina i se taimi ese, o lea e muta ai i taimi eseese. Ae, afai na faʻapipiʻi le ki muamua i se taimi e le sili atu le leaga nai lo le T1 (le taimi tatou te filifilia aʻo leʻi faʻafesoʻotaʻi le server muamua), ma o le ki mulimuli na faʻapipiʻiina i se taimi e le sili atu le leaga nai lo T2 (le taimi na maua ai le tali. mai le server mulimuli), ona matou mautinoa lea o le ki muamua i le seti e muta o le a ola a itiiti mai MIN_VALIDITY=TTL-(T2-T1)-CLOCK_DRIFT. O isi ki uma o le a muta mulimuli ane, o lea e mafai ai ona matou mautinoa o ki uma o le a aoga i le taimi e tasi mo le itiiti ifo i le taimi nei.
I le taimi e tumau pea le aoga o le tele o ki, o le a le mafai e le isi tagata o tausia ona maua le loka, talu ai e le mafai ona manuia galuega N/2+1 SET NX pe afai ua iai ki N/2+1. O le mea lea, o le taimi lava e maua ai se loka, e le mafai ona toe mauaina i le taimi lava e tasi (o le a solia ai le meatotino tuʻufaʻatasia).
Ae ui i lea, matou te mananaʻo ia mautinoa o le tele o tagata faʻatau e taumafai e maua se loka i le taimi e tasi e le mafai ona manuia i le taimi e tasi.
Afai na loka e le kalani le tele o taimi mo le pe sili atu nai lo le maualuga o le umi o loka, o le a manatu o le loka e le aoga ma tatala ia mea. O le mea lea, e tatau ona tatou amanaia le mataupu lea na mafai ai e le kalani ona poloka le tele o taimi i se taimi e itiiti ifo nai lo le aso e muta ai. I lenei tulaga, e uiga i le finauga i luga, i le taimi MIN_VALIDITY e leai se tagata o tausia e tatau ona toe maua le loka. O le mea lea, o le tele o tagata o le a mafai ona loka N / 2 + 1 taimi i le taimi e tasi (lea e muta i le faaiuga o le laasaga 2) naʻo le taimi e loka ai le toʻatele e sili atu nai lo le taimi TTL, lea e faʻaleagaina ai le loka.
E mafai ona e tuʻuina atu se faʻamaoniga aloaia o le saogalemu, faʻaalia algorithms tutusa o loʻo i ai, pe suʻe se pusa i luga?
Manatuga Avanoa
Ole avanoa ole system e fa'alagolago ile tolu uiga autu:
- Otometi ona tatala loka (pe a uma ki): E iu lava ina toe avanoa ki e fa'aoga mo loka.
- O le mea moni e masani ona fesoasoani le tasi i le isi e ala i le aveeseina o loka pe a le maua le loka manaʻomia, pe ua maua ma ua maeʻa le galuega; e foliga mai o le a tatou le tau faatali mo le aoga o ki e toe maua ai le loka.
- O le mea moni pe a mana'omia e le tagata o tausia le toe taumafai e maua se loka, e fa'atali mo se taimi fa'atusa e umi atu nai lo le vaitaimi e mana'omia e maua ai le tele o loka. Ole mea lea e fa'aitiitia ai le ono tula'i mai ole vaeluaga ole fai'ai pe a tauva mo punaoa.
Ae ui i lea, o loʻo i ai se faʻasalaga avanoa e tutusa ma le TTL o vaega o fesoʻotaʻiga, o lea afai o loʻo i ai vaega vavalalata, o le faʻasalaga e ono le faʻamaonia. E tupu lenei mea i so'o se taimi e maua ai e le tagata o tausia se loka ona sae'ese lea i se isi vaega a'o le'i tatalaina.
I le fa'avae, tu'uina atu e le i'u vaega feso'ota'iga feso'ota'i, e mafai ona tumau le avanoa o se faiga mo se vaitaimi e le i'u.
Fa'atinoga, failover ma fsync
E toʻatele tagata e faʻaaogaina Redis aua latou te manaʻomia le faʻatinoina o le server loka maualuga i tulaga o le latency e manaʻomia e maua ai ma faʻamalolo loka, ma le numera o le mauaina / faʻamalolo e mafai ona maeʻa i le sekone. Ina ia ausia lenei manaʻoga, o loʻo i ai se taʻiala e fesoʻotaʻi ai ma N Redis servers e faʻaitiitia ai le le tumau. Ole ta'iala ole tele lea (po'o le "poor man's multiplexing", o lo'o tu'u ai le socket i le faiga e le poloka ai, lafo uma poloaiga, ma faitau fa'atonuga mulimuli ane, fa'apea e tutusa le taimi o le malaga taamilo i le va o le kalani ma fa'ata'ita'iga ta'itasi) .
Ae ui i lea, e tatau foi ona tatou amanaʻia le iloiloga e fesoʻotaʻi ma le teuina o faʻamaumauga umi pe afai tatou te taumafai e fatuina se faʻataʻitaʻiga ma le toe faʻaleleia lelei mai le toilalo.
Ae, ina ia faʻamalamalamaina le mataupu, seʻi tatou manatu tatou te faʻatulagaina Redis e aunoa ma se taimi umi e teu ai faʻamaumauga. E mafai e le kalani ona poloka le 3 mai le 5 taimi. O se tasi o mea na mafai e le tagata o tausia ona poloka ua toe amata, ma i le taimi nei e 3 toe taimi mo le punaoa lava lea e tasi, lea e mafai ona tatou poloka, ma e mafai e le isi tagata o tausia, ona poloka le toe amataina, ua solia ai le meatotino saogalemu lea. fa'apea le fa'apitoa o loka.
Afai e te fa'aogaina fa'amatalaga i luma (AOF), o le a fa'aleleia teisi le tulaga. Mo se faʻataʻitaʻiga, e mafai ona e faʻalauiloaina se 'auʻaunaga e ala i le lafoina o le SHUTDOWN poloaiga ma toe amata. Talu ai o galuega faʻamutaina i Redis o loʻo faʻatinoina i se auala e faʻaauau pea le taimi e tusa lava pe tape le server, e lelei uma a matou manaʻoga. Ole mea masani lea pe'ā mautinoa ole tapuni masani. O le a le mea e fai pe a pe le eletise? Afai e faʻapipiʻi Redis e ala i le faaletonu, faʻatasi ai ma le fsync synchronizing i luga o le disk i sekone taʻitasi, ona mafai lea pe a maeʻa le toe amataina o le a le maua la matou ki. Fa'ata'ita'iga, afai tatou te manana'o e fa'amautinoa le saogalemu loka i le taimi e toe amata ai so'o se fa'ata'ita'iga, e tatau ona tatou mafai fsync=always i tulaga mo le teuina o faʻamaumauga umi. O lenei mea o le a faʻaumatia atoa ai le faʻatinoga, e oʻo atu i le maualuga o faiga CP e masani ona faʻaogaina e faʻaogaina ai loka tufatufaina.
Ae o le tulaga e sili atu nai lo le foliga mai i le tepa muamua. I le faʻavae, o le saogalemu o le algorithm e faʻasaoina ona pe a toe amataina le faʻataʻitaʻiga pe a maeʻa le toilalo, e le o toe auai i soʻo se loka o loʻo galue nei.
Ina ia mautinoa lenei mea, matou te manaʻomia le faʻamautinoa pe a maeʻa le toilalo e tumau pea le le avanoa o le faʻataʻitaʻiga mo se vaitaimi e sili atu nai lo le maualuga TTL matou te faʻaaogaina. O le auala lea o le a tatou faʻatali ai seʻia oʻo i le aso e muta ai ma faʻamalolo otometi uma ki na faʻagaoioia i le taimi o le toilalo.
I le faʻaaogaina o le tuai toe amata, e mafai ona maua le saogalemu e tusa lava pe leai se faʻaauau umi i Redis. Ae maitau, e mafai ona i'u i se sala tupe mo le solia o avanoa. Mo se faʻataʻitaʻiga, afai e le manuia le tele o faʻataʻitaʻiga, o le a le maua le polokalama i le lalolagi atoa mo le TTL (ma e leai se punaoa e mafai ona poloka i le taimi lea).
Matou te faʻateleina le avanoa o le algorithm: matou te faʻalauteleina le poloka
Afai o le galuega o loʻo faʻatinoina e tagata faʻatau e aofia ai ni laasaga laiti, e mafai ona faʻaitiitia le umi ole loka ma faʻatino se masini mo le faʻalauteleina o loka. I le tulaga fa'avae, afai o lo'o pisi le tagata o tausia i le komepiuta ma e matua'i maualalo le tau e muta ai le loka, e mafai ona e lafoina se fa'amatalaga Lua i taimi uma e fa'alautele ai le TTL o le ki pe afai o lo'o i ai pea le ki ma o lona tau o se tau fa'afuase'i e maua pe a loka na maua.
E tatau i le tagata o tausia ona mafaufau i se loka e toe maua pe afai na mafai ona loka le tele o taimi i totonu o le vaitaimi aoga.
E moni, faʻapitoa e le suia le algorithm, o lea e tatau ona faʻatapulaʻaina le numera maualuga o taumafaiga faifaipea e maua ai loka, a le o lea o le a solia ai meatotino avanoa.
puna: www.habr.com
