Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 13217|Vastaus: 1

Rajapinnan idempotenssiongelmat

[Kopioi linkki]
Julkaistu 4.12.2018 13.29.37 | | |
【Ongelman kuvaus】
Kun käyttäjät käyttävät APP:ta, sivu jumittuu pahasti ja he klikkaavat satunnaisesti, koska käyttöliittymä ei tee toistuvia lähetyksiä, vaan palvelukerroksessa on useita identtisiä pyyntöjä, yksi säie ei täytä ja toinen säie tarkistaa tyhjänä. Joten laitoin myös yhden. Alun perin kaikilla oli yksi, mutta myyjällä oli kolme, mikä johti liiketoimintalogiikkavirheisiin. Haitallisten lähetysten käsittelyssä se voidaan tehdä front-endissä, ja myös kypsiä ratkaisuja voi olla back-endissä.

【Ratkaisu】1. Käytä ainutlaatuisuusrajoitteita ratkaistaksesi transaktioiden idempotenttiongelman, aseta uniikkisusrajoitteet, ja jos esiintyy toistuvia commit-skenaarioita, poikkeuksia yksilöllisyysrajoitteista heitetään tietokantatasolle, eikä liiketoimintalogiikkaa tuhota. Myös yksikäsitteellisyysrajoitteet useiden kenttien yhdistämiselle ovat hyväksyttäviä.
Hyperlinkin kirjautuminen on näkyvissä.

Yllä oleva on tarkoitettu kaksoiskappaleiden estämiseen tarkoitetut asetukset tietokantatasolla.

2. Toteuta kopioinnineston asetukset kooditasolla. Monesti sanotaan, että tietokannan ainutlaatuisuusrajoite vaikuttaa datan syöttämisen tehokkuuteen, koska jokainen lisäys vaatii tietokantatason arvion. Siksi, kooditason perusteella, yleinen käytäntö kooditasolla on valita ensin ja sitten lisätä, mutta jos on korkea samanaikaisuus, sitoutumiset toistuvat edelleen. Voit lisätä synkronoidun logiikkakoodiin, jolloin korkean samanaikaisuuden tilanteissa valitse ensin ja sitten insert astuu voimaan. Mutta hyötysuhde ei ole korkea, ja rinnakkaisuudesta tulee sarjallinen. DCL-lukitusmekanismia voidaan käyttää. (Oletko huomannut, että yksittäisen objektin luomismenetelmä kopiointitapaustilassa on hyvin samanlainen, ensin arvioi, onko objekti olemassa, jos sitä ei ole, luo se, muuten älä luo sitä), luonnollinen DCL-lukitusmekanismi on tehokkaampi.

#分布式锁
Hajautettuja lukkoja voidaan myös käyttää ongelman ratkaisemiseen, joita käyttävät yleisesti Redis ja Zookeeper. Tässä osiossa selitetään, miten hajautettuja lukkoja toteutetaan Redisillä.
Redisissä on setNx-komentotoiminto, jos sitä ei ole, se on asetettu arvo, ja arvo 1 palautuu. Jos se on olemassa, se ei asetu ja palauttaa 0.
Hyödyntäen Redisin yksisäikeisyysominaisuutta, korkean samanaikaisuuden kohtaus muutetaan sarjaksi viestijonon kautta.
Kuitenkin hajautuneissa lukkoissa on sudenkuoppia, joten sinun täytyy kiinnittää huomiota.
Hyperlinkin kirjautuminen on näkyvissä.
3. MVCC-mekanismi?

3.1 Mikä on MVCC-mekanismi?
MVCC on moniversioinen rinnakkaisohjausmekanismi.

3.2 Mitä ongelmia voidaan ratkaista?
Lukitusmekanismi voi ohjata samanaikaisia toimintoja, mutta sen järjestelmän ylikuorma on suuri, ja MVCC voi useimmissa tapauksissa korvata rivitason lukit, mikä voi vähentää järjestelmän ylikuormitusta ja parantaa suorituskykyä.

Hyperlinkin kirjautuminen on näkyvissä.

4. Viesteissä on myös idempotenssiongelma

Esimerkiksi, miten estää viestien toistuva kulutus?

MQ:n viestiväliohjelmistossa nämä täytyy ymmärtää ja ymmärtää.




Edellinen:Opi kampaaja. Tule sisään ja katso
Seuraava:Vanhemmuustarina Video Vanhemmuustarina Ääni Vanhemmuustarina Kuvakirja Vanhemmuuden Tietokokoelma
 Vuokraisäntä| Julkaistu 17.3.2021 10.27.09 |
ValtuudetOhjelmoinnissa idempotentille operaatiolle on ominaista se, että sen mielivaltaiset useat suoritukset vaikuttavat samalla tavalla kuin yhdellä suorituksella.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com