Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 13217|Odgovoriti: 1

Težave z idempotentnostjo vmesnikov

[Kopiraj povezavo]
Objavljeno na 4. 12. 2018 13:29:37 | | |
【Opis problema】
Ko uporabniki uporabljajo aplikacijo, je stran zelo zataknjena in klikajo naključno, ker vmesnik ne omogoča ponavljajočih se oddaj, je več enakih zahtev; na servisni plasti ena nit ni dokončana, druga pa preverja nit, prazna. Zato sem tudi enega vstavila. Sprva je imel vsak enega, vendar je imel prodajalec tri, kar je povzročalo napake v poslovni logiki. Za obdelavo zlonamernih oddaj je to mogoče opraviti v sprednjem delu, v ozadju pa so lahko tudi zrele rešitve.

【Rešitev】1. Uporaba omejitev enoličnosti za reševanje problema idempotentnosti transakcij, določitev omejitev edinstvenosti, in če pride do ponavljajočih se commitov, se izjeme od omejitev unikatnosti vržejo na raven baze podatkov, poslovna logika pa ne bo uničena. Sprejemljive so tudi omejitve unikatnosti pri sestavi več polj.
Prijava do hiperpovezave je vidna.

Zgoraj navedeno je za nastavitev proti podvajanju na ravni baze podatkov.

2. Spoznajte nastavitve proti podvajanju na ravni kode. Velikokrat se pravi, da omejitev edinstvenosti baze vpliva na učinkovitost vstavljanja podatkov, saj vsako vstavljanje zahteva presojo na ravni baze podatkov. Zato, glede na raven kode, je običajna praksa na ravni kode, da najprej izberejo in nato vstavijo, vendar če pride do scenarija visoke sočasnosti, bodo še vedno ponavljajoče se potrditve. Sinhronizirano lahko dodaš v logično kodo, tako da v scenarijih z veliko sočasnostjo najprej izbereš, nato pa vstavitev začne veljati. A učinkovitost ni visoka in vzporednica postane serijska. Uporablja se lahko mehanizem DCL ključavnice. (Ste ugotovili, da je metoda ustvarjanja enega objekta v načinu kopiranja zelo podobna, najprej presodite, ali objekt obstaja, če ne obstaja, ga ustvarite, sicer ga ne ustvarjajte), naravni DCL zaklepni mehanizem je učinkovitejši.

#分布式锁
Za rešitev problema se lahko uporabijo tudi razpršene ključavnice, ki jih pogosto uporabljata Redis in Zookeeper. Ta razdelek pojasnjuje, kako implementirati porazdeljene zaklepe z uporabo Redis.
V Redisu obstaja ukazna operacija setNx, če ne obstaja, je to določena vrednost in vrne se 1. Če obstaja, se ne nastavi in vrne 0.
Z uporabo funkcije enonitnega povezovanja v Redisu se prizor z visoko sočasnostjo spremeni v serijsko preko vrste sporočil.
Vendar pa obstajajo pasti pri porazdeljenih ključavnicah, zato morate biti pozorni.
Prijava do hiperpovezave je vidna.
3. Mehanizem MVCC?

3.1 Kaj je mehanizem MVCC?
MVCC je mehanizem za nadzor sočasnosti z več različicami.

3.2 Katere težave je mogoče rešiti?
Mehanizem za zaklepanje lahko nadzoruje sočasne operacije, vendar je njegov sistemski strošek velik, MVCC pa lahko v večini primerov nadomesti zapornice na ravni vrstic, kar lahko zmanjša sistemske stroške in izboljša zmogljivost.

Prijava do hiperpovezave je vidna.

4. Obstaja tudi problem idempotentnosti v sporočilih

Na primer, kako preprečiti ponavljajoče se uživanje sporočil?

V sporočilni vmesni programski opremi v MQ je treba to razumeti in razumeti.




Prejšnji:Frizerstvo Nauči se frizerstvo pridi noter in poglej
Naslednji:Zgodba o starševstvu Video Zgodba o starševstvu Avdio Zgodba o starševstvu Slikanica Zbirka znanja o starševstvu
 Najemodajalec| Objavljeno na 17. 03. 2021 10:27:09 |
PooblastilaV programiranju je idempotentna operacija značilna po tem, da ima njeno poljubno več izvršitev enak učinek kot ena sama izvedba.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com