Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 52826|Yanıt: 2

[Kaynak] .NET Core, Redis Lua temelli dağıtık kilitler uygular [kaynak kodu ile].

[Bağlantıyı kopyala]
Yayınlandı 9.05.2021 21:11:18 | | | |
Dağıtık kilitlerin uygulama senaryoları: Hizmetlerin gelişmesiyle birlikte, tek uygulamalar kümelere dönüşür, dağıtılmış kilitler aynı kaynakta farklı süreçlerin (iş parçacıklarının) eşzamanlı durumlarda işleyişini çözer ve bazı hizmetler tek bir iş parçacığı gerektirmelidir; örneğin: mevduat miktarlarındaki değişiklikler, emtia envanterindeki değişiklikler vb.

Eleştiri:

.NET Core, Redis tabanlı dağıtık kilit prensip ayrıştırmasını uygular
https://www.itsvse.com/thread-9391-1-1.html

.net/c# Zookeeper Dağıtık Kilit Uygulaması [Kaynak Kodu]
https://www.itsvse.com/thread-4651-1-1.html

Redis, ayrıntılı açıklamalar için Lua betanlarını kullanır
https://www.itsvse.com/thread-9634-1-1.html

[Gerçek dövüş] ASP.NET Core, Redis dağıtılmış kilit flash satışına dayanıyor
https://www.itsvse.com/thread-9397-1-1.html

Önceki "[Practice]ASP.NET Core Based on Distributed Lock Flash Kill" adlı makalede, bir kilit eklediğimizde, kilit açıldığında diğer iş parçacıklarının işgal ettiği kilidin yanlışlıkla silinmemesi için kilitlenme süresini uzatmak için arka plan iş parçacılığını da etkinleştirdik.

Redis'in Lua betiklerini kullanmasını öğrendikten sonra, betiklerle kolayca kilitlenme kilitlerini tamamlayabilir ve kilitleri açabilirsiniz.


Öncelikle, render düzenlemelerine şu şekilde bakalım:



Kilit için rekabet etmek için önce 1000 paralel iş parçacığı açtık ve kilit 5 saniyeliğine süresi doldu.5 saniyede 1000 iş parçacığını tamamladık ve sadece 1 tane kilidi başarıyla yakaladı6 saniye bekledikten sonra kilit otomatik olarak açılır ve ikinci görevin kilidi başarıyla elde ettiğini, hemen kilidini açtığını ve sonraki kodun kilidi başarıyla elde ettiğini görebilirsiniz.

Kilidi almak için lua yazısı şöyledir:

Kilidi açmak için lua yazısı şöyledir:

Arayüz kodu:

Kaynak kodu indirme:Bağlantı girişi görünür.

"[Uygulama] ASP.NET Core Redis dağıtılmış kilit flash satışına dayanır" bu makale kullanılarak uygulanmıştır ve web sitemiz bunu simüle eder10000 ürün, ve ardından HTTP isteği süresini simüle etmek için bir konsol yazdıBilet 6 saniyede tamamlanır, aşağıdaki şekilde gösterildiği gibi:

[Gerçek dövüş] ASP.NET Core, Redis dağıtılmış kilit flash satışına dayanıyor
https://www.itsvse.com/thread-9397-1-1.html



Test simülasyonu isteği kodunu değiştirin:



(Son)




Önceki:Kafka ofset ofsetini manuel olarak ayarlar
Önümüzdeki:ASP.NET Core, tam URL bağlantısı isteğini alıyor
Yayınlandı 4.11.2021 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:}
Yayınlandı 11.06.2022 13:36:33 |
Teşekkürler, teşekkürler
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com