sql >> Databasteknik >  >> NoSQL >> Redis

Hur kan jag implementera denna enstaka samtidighetsdistribuerade kö i vilken MQ-plattform som helst?

Du kan uppnå detta genom att använda Redis-listor med en extra "utskickningskö" som alla arbetare BRPOP på för sina jobb. Varje jobb i utskickskön är taggat med det ursprungliga kö-ID, och när arbetaren har slutfört jobbet går den till denna ursprungliga kö och utför RPOPLPUSH in i utskickskön för att göra nästa jobb tillgängligt för alla andra anställda. Utskickskön kommer därför att ha maximalt antal_köer element.

En sak du måste hantera är den initiala populationen av utskickskön när källkön är tom. Detta kan bara vara en kontroll som görs av utgivaren mot en "tom" flagga för varje kö som ställs in från början, och även inställd av arbetaren när det inte finns något kvar i den ursprungliga kön att skicka. Om denna flagga är inställd kan utgivaren bara LPUSH det första jobbet direkt in i utskickskön.




  1. Hur ansluter man till fjärransluten Redis-server?

  2. Pub/sub-implementering i nodeJS

  3. MongoDB updateOne()

  4. Optimera din Linux-miljö för MongoDB