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

Näkymä: 50989|Vastaus: 2

[Lähde] .NET Core toteuttaa hajautettuja lukkoja, jotka perustuvat Redis Luaan [lähdekoodilla]

[Kopioi linkki]
Julkaistu 2021-5-9 21:11:18 | | | |
Hajautettujen lukkojen sovellusskenaariot: Palveluiden kehityksen myötä yksittäiset sovellukset muuttuvat klustereiksi, hajautetut lukot ratkaisevat eri prosessien (säikeiden) toiminnan samalla resurssilla samanaikaisesti, ja joidenkin palveluiden on vaadittava yksi säike toimiakseen, esimerkiksi: talletusmäärien muutokset, hyödykevaraston muutokset jne.

Arvostelu:

.NET Core toteuttaa hajautetun lukkoperiaatteen jäsentämisen Redisin pohjalta
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeperin hajautetun lukon toteutus [lähdekoodi]
https://www.itsvse.com/thread-4651-1-1.html

Redis käyttää Lua-skriptejä yksityiskohtaisiin selityksiin
https://www.itsvse.com/thread-9634-1-1.html

[Varsinainen taistelu] ASP.NET Core perustuu Redisin jakamaan lukon flash-myyntiin
https://www.itsvse.com/thread-9397-1-1.html

Edellisessä artikkelissa "[Practice]ASP.NET Core Based on Redis Distributed Lock Flash Kill", kun lisäsimme lukon, otimme myös käyttöön taustasäikeen pidentämään lukitusaikaa, jotta lukituksen vapauttamisen yhteydessä muiden säikeiden käyttämä lukko ei vahingossa poistuisi.

Kun olet oppinut Redisiä käyttämään Lua-skriptejä, voit helposti käyttää skriptejä asutuslukkojen ja lukkojen vapauttamiseen.


Katsotaanpa ensin renderöintiä seuraavasti:



Avasimme ensin 1000 rinnakkaista säiettä kilpaillaksemme lukosta, ja lukko vanhentui viideksi sekunniksi.Saimme valmiiksi 1000 lankaa viidessä sekunnissa, ja vain yksi lanka onnistui lukitsemaan6 sekunnin odotuksen jälkeen lukko vapautetaan automaattisesti, ja näet, että toinen tehtävä on onnistuneesti saanut lukon, vapauttanut lukon välittömästi, ja seuraava koodi on saanut lukon onnistuneesti.

Lua-skripti lukon saamiseksi on seuraava:

Lua-skripti lukon vapauttamiseksi on seuraava:

Rajapintakoodi:

Lähdekoodin lataus:Hyperlinkin kirjautuminen on näkyvissä.

"[Practice] ASP.NET Core based on Redis distributed lock flash sale" toteutetaan tämän artikkelin avulla, ja verkkosivustomme simuloi sitä10000 tuotetta, ja kirjoitti sitten konsolin simuloimaan HTTP-pyyntöaikaaLoppuunmyyty elokuva on valmis 6 sekunnissa, kuten alla olevassa kuvassa näkyy:

[Varsinainen taistelu] ASP.NET Core perustuu Redisin jakamaan lukon flash-myyntiin
https://www.itsvse.com/thread-9397-1-1.html



Muokkaa testisimulaation pyyntökoodia:



(Loppu)




Edellinen:Kafka asettaa siirtymän manuaalisesti
Seuraava:ASP.NET Core saa pyynnön täyden URL-linkin
Julkaistu 2021-11-4 klo 13:50:43 |
{:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:} {:1_1:}
Julkaistu 2022-6-11 13:36:33 |
Kiitos, kiitos
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