greenie-msft / pubsub-dapr-nodejs-sb

A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Microservice communication using pubsub (async)

In this quickstart, you'll create a publisher microservice and a subscriber microservice to demonstrate how Dapr enables a publish-subcribe pattern. The publisher will generate messages of a specific topic, while subscribers will listen for messages of specific topics. See Why Pub-Sub to understand when this pattern might be a good choice for your software architecture.

For more details about this quickstart example please see the Pub-Sub Quickstart documentation.

Visit this link for more information about Dapr and Pub-Sub.

Note: This example leverages the Dapr client SDK. If you are looking for the example using only HTTP requests click here.

This quickstart includes one publisher:

  • Node client message generator checkout

And one subscriber:

  • Node subscriber order-processor

Pre-requisites

For this example, you will need:

Run Node message subscriber with Dapr

  1. Install dependencies in a new terminal:
cd ./order-processor
npm install
  1. Run the Node subscriber app with Dapr:
dapr run --app-port 5001 --app-id order-processing --app-protocol http --dapr-http-port 3501 --components-path ../components -- npm run start

Run Node message publisher with Dapr

  1. Install dependencies in a new terminal:
cd ./checkout
npm install
  1. Run the Node publisher app with Dapr:
dapr run --app-id checkout --app-protocol http --components-path ../components -- npm run start
dapr stop --app-id checkout
dapr stop --app-id order-processor
  1. Deploy to Azure for dev-test

NOTE: make sure you have Azure Dev CLI pre-reqs here

azd up

About

A complete microservice application featuring Dapr Pub-Sub, deployed to Azure Container Apps and Azure Service Bus Topics with dead-lettering support.

License:MIT License


Languages

Language:Bicep 95.4%Language:JavaScript 2.3%Language:Dockerfile 2.0%Language:Makefile 0.2%