Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 13217|Atbildi: 1

Saskarnes idempotences jautājumi

[Kopēt saiti]
Publicēts 04.12.2018 13:29:37 | | |
【Problēmas apraksts】
Kad lietotāji izmanto APP, lapa ir ļoti iestrēgusi, un viņi noklikšķinās nejauši, jo saskarne neveic atkārtotus iesniegumus, pakalpojuma slānī būs vairāki identiski pieprasījumi, viens pavediens netiek ievietots pilnīgs, bet otrs pavediens tiek pārbaudīts, tukšs. Tāpēc es arī ievietoju vienu. Sākotnēji visiem bija viens, bet pārdevējam bija trīs, kā rezultātā radās biznesa loģikas kļūdas. Ļaunprātīgu iesniegumu apstrādei to var izdarīt priekšgalā, un aizmugurējā daļā var būt arī nobrieduši risinājumi.

【Risinājums】1. Izmantojiet unikalitātes ierobežojumus, lai atrisinātu darījumu idempotences problēmu, iestatiet unikalitātes ierobežojumus, un, ja ir atkārtotu saistību scenārijs, datu bāzes līmenī tiks izmesti unikalitātes ierobežojumu izņēmumi, un biznesa loģika netiks iznīcināta. Ir pieļaujami arī unikalitātes ierobežojumi vairāku lauku sastāvam.
Hipersaites pieteikšanās ir redzama.

Iepriekš minētais ir veikt anti-dublikātu iestatījumus datu bāzes līmenī.

2. Realizējiet dublēšanas novēršanas iestatījumus koda līmenī. Daudzas reizes tiek teikts, ka datu bāzes unikalitātes ierobežojums ietekmēs datu ievietošanas efektivitāti, jo katrai ievietošanai ir nepieciešams spriedums datu bāzes līmenī. Tāpēc, spriežot pēc koda līmeņa, parastā prakse koda līmenī ir vispirms atlasīt un pēc tam ievietot, bet, ja ir augsts vienlaicīguma scenārijs, joprojām būs atkārtotas saistības. Loģiskajam kodam var pievienot sinhronizētu, lai augstas vienlaicīgības scenārijos vispirms atlasītu un pēc tam stātos spēkā ievietošana. Bet efektivitāte nav augsta, un paralēle kļūst sērijveida. Var izmantot DCL bloķēšanas mehānismu. (Vai esat atklājis, ka viena objekta izveides metode kopēšanas lietas režīmā ir ļoti līdzīga, vispirms spriediet, vai objekts pastāv, ja tas nepastāv, izveidojiet to, pretējā gadījumā neveidojiet to), dabiskais DCL bloķēšanas mehānisms ir efektīvāks.

#分布式锁
Problēmas risināšanai var izmantot arī izkliedētas slēdzenes, ko parasti izmanto Redis un Zookeeper. Šajā sadaļā ir paskaidrots, kā ieviest sadalītās slēdzenes, izmantojot Redis.
Redis ir komandas operācija setNx, ja tā nepastāv, tā ir iestatīta vērtība, un tiek atgriezts 1. Ja tas pastāv, tas netiek iestatīts un atgriež 0.
Izmantojot Redis viena pavediena funkciju, augstas vienlaicīgības aina tiek pārvērsta par sēriju, izmantojot ziņojumu rindu.
Tomēr sadalītajās slēdzenēs ir nepilnības, tāpēc jums jāpievērš uzmanība.
Hipersaites pieteikšanās ir redzama.
3. MVCC mehānisms?

3.1 Kas ir MVCC mehānisms?
MVCC ir vairāku versiju vienlaicīguma kontroles mehānisms.

3.2 Kādas problēmas var atrisināt?
Bloķēšanas mehānisms var kontrolēt vienlaicīgas darbības, taču tā sistēmas pieskaitāmās izmaksas ir lielas, un MVCC vairumā gadījumu var aizstāt rindas līmeņa slēdzenes, kas var samazināt sistēmas pieskaitāmās izmaksas un uzlabot veiktspēju.

Hipersaites pieteikšanās ir redzama.

4. Ziņojumos ir arī idempotences problēma

Piemēram, kā novērst atkārtotu ziņojumu patēriņu?

MQ ziņojuma starpprogrammatūrā tie ir jāsaprot un jāsaprot.




Iepriekšējo:Frizieris: Uzziniet, frizieris, ienāciet un apskatiet
Nākamo:Vecāku stāsts Video Vecāku stāsts Audio Vecāku stāsts Attēlu grāmata Vecāku zināšanu kolekcija
 Saimnieks| Publicēts 17.03.2021 10:27:09 |
PilnvarasProgrammēšanā idempotentu operāciju raksturo fakts, ka tās patvaļīgajiem vairākkārtējiem izpildījumiem ir tāda pati ietekme kā vienai izpildei.
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com