Oefening: gebeurtenissen publiceren en abonneren met pub/sub
In uw retailtoepassing moet de software die is gebouwd door de voorraad- en verzendafdelingen, reageren op elkaars gebeurtenissen als onderdeel van een typische werkstroom. De microservice voor voorraad moet bijvoorbeeld het artikel aftrekken van de voorraad zodra een order is verzonden.
In deze oefening implementeert u Pub/Sub in een Azure Cache voor Redis exemplaar met meerdere consolevensters.
Open de Azure Cache voor Redis-console in twee browserexemplaren
Bekijk twee afzonderlijke clients die berichten verzenden en ontvangen met behulp van twee unieke browserexemplaren. Elk browserexemplaren heeft de Redis-console om realtime pub-/subfunctionaliteit te illustreren.
Het eerste browserexemplaren openen
Meld u aan bij de Azur-portal met hetzelfde account waarmee u de sandbox hebt geactiveerd.
Selecteer meer services in de categorie Azure-services, selecteer de categorie Databases en selecteer vervolgens Azure Cache voor Redis.
Selecteer het Azure Cache voor Redis exemplaar dat u in een vorige oefening hebt gemaakt.
Selecteer Console in het resourcevenster om de Redis-console te openen.
Laat de console geopend om volgende taken in deze oefening uit te voeren.
Het tweede browserexemplaren openen
Meld u aan bij Azure Portal met hetzelfde account dat u hebt gebruikt om de sandbox en een afzonderlijk browservenster of tabblad te activeren.
Selecteer meer services in de categorie Azure-services, selecteer de categorie Databases en selecteer vervolgens Azure Cache voor Redis.
Selecteer het Azure Cache voor Redis exemplaar dat u in een vorige oefening hebt gemaakt.
Selecteer Console in het resourcevenster om de Redis-console te openen.
Laat de console geopend om volgende taken in deze oefening uit te voeren.
Op dit moment moeten er twee browserexemplaren zijn geopend met een exemplaar van de Redis-console.
Tip
Als uw besturingssysteem dit ondersteunt, raden we u aan de browservensters naast elkaar te plaatsen om de rest van deze oefening te vereenvoudigen.
Berichten abonneren en publiceren naar een bekend kanaal
Abonneer u op kanalen met behulp van de SUBSCRIBE
opdracht en publiceer vervolgens berichten met behulp van de PUBLISH
opdracht.
Voer in de console van het eerste browserexemplaren de volgende acties uit:
Voer de volgende opdracht in en gebruik enter om te beginnen met luisteren naar berichten op het kanaal org.shipping.alerts.
SUBSCRIBE org.shipping.alerts
Bekijk het antwoord van de console dat aangeeft dat deze nu luistert op het kanaal org.shipping.alerts .
Reading messages... (press ENTER to quit) 1) "subscribe" 2) "org.shipping.alerts" 3) (integer) 1
Voer in de console van het tweede browserexemplaren de volgende acties uit:
Voer de volgende opdracht in en gebruik enter om een nieuw bericht te verzenden met het inhoudslabelprint-sdf9878 naar het kanaal org.shipping.alerts.
PUBLISH org.shipping.alerts labelprint-sdf9878
Voer de volgende opdracht in en gebruik enter om een nieuw bericht te verzenden met het inhoudslabelprint-sdf9878 naar het kanaal org.shipping.alerts.
PUBLISH org.shipping.alerts packagesent-sdf9878
Voer in de console van het eerste browserexemplaren de volgende acties uit:
Bekijk het eerste antwoord van de console dat aangeeft dat het een nieuw bericht heeft ontvangen op het kanaal org.shipping.alerts .
1) "message" 2) "org.shipping.alerts" 3) "labelprint-sdf9878"
Bekijk het tweede antwoord van de console dat aangeeft dat het een nieuw bericht heeft ontvangen op het kanaal org.shipping.alerts .
1) "message" 2) "org.shipping.alerts" 3) "packagesent-sdf9878"
Gebruik de ENTER-toets om te voorkomen dat de console luistert naar gebeurtenissen.
Voer de volgende opdracht in en gebruik enter om de console-uitvoer te wissen.
clear
Voer in de console van het tweede browserexemplaren de volgende acties uit:
Voer de volgende opdracht in en gebruik enter om de console-uitvoer te wissen.
clear
Abonneren op een kanaalpatroon en luisteren naar berichten
Abonneer u op een patroon van kanalen met behulp van de PSUBSCRIBE
opdracht en publiceer vervolgens een bericht met behulp van de PUBLISH
opdracht.
Voer in de console van het eerste browserexemplaren de volgende acties uit:
Voer de volgende opdracht in en gebruik enter om te beginnen met luisteren naar berichten op het kanaal org.shipping.alerts.
PSUBSCRIBE org.inventory.*
Bekijk het antwoord van de console dat aangeeft dat deze nu luistert op het kanaal org.inventory.*
Reading messages... (press ENTER to quit) 1) "psubscribe" 2) "org.inventory.*" 3) (integer) 1
Voer in de console van het tweede browserexemplaren de volgende acties uit:
Voer de volgende opdracht in en gebruik enter om een nieuw bericht te verzenden met het inhoudsitem-sku-318947naar het kanaal org.inventory.empty.
PUBLISH org.inventory.empty item-sku-318947
Voer de volgende opdracht in en gebruik enter om een nieuw bericht te verzenden met de inhoudsorder-dsy3821 naar het kanaal org.shipping.sent.
PUBLISH org.shipping.sent order-dsy3821
Notitie
Omdat dit kanaal niet overeenkomt met het patroon org.inventory.* moet u niet verwachten dat deze opdracht een bericht verzendt dat uw andere client ontvangt.
Voer in de console van het eerste browserexemplaren de volgende acties uit:
Bekijk het antwoord van de console dat aangeeft dat er slechts één nieuw bericht is ontvangen met behulp van het org.inventory.* -kanaalpatroon.
1) "pmessage" 2) "org.inventory.*" 3) "org.inventory.empty" 4) "item-sku-318947"
Gebruik de ENTER-toets om te voorkomen dat de console luistert naar gebeurtenissen.