* update dapr runtime to use v1.12.0-rc.1 Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update to latest rc for runtime and cli Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * try sleeping Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * pin redis version Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * rm sleep Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * rm deprecated unsubscribe call Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * Update configuration/go/sdk/order-processor/app.go Co-authored-by: Josh van Leeuwen <me@joshvanl.dev> Signed-off-by: Cassie Coyle <cassie.i.coyle@gmail.com> * Statemanagement multiapp run Signed-off-by: rabollin <rabollin@microsoft.com> * message sequence Signed-off-by: rabollin <rabollin@microsoft.com> * message sequence Signed-off-by: rabollin <rabollin@microsoft.com> * Multi-run support for workflow Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Removing component folder from run file to match readme Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * aligning state store names on `statestore` Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Adding multi-app run for python and C# Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * pr comments Signed-off-by: rabollin <rabollin@microsoft.com> * pr comments Signed-off-by: rabollin <rabollin@microsoft.com> * sleep value increase Signed-off-by: rabollin <rabollin@microsoft.com> * sleep seconds increase Signed-off-by: rabollin <rabollin@microsoft.com> * Result correction Signed-off-by: rabollin <rabollin@microsoft.com> * Result correction Signed-off-by: rabollin <rabollin@microsoft.com> * java sdk dapr run output format fixing Signed-off-by: rabollin <rabollin@microsoft.com> * Syncing Release 1.12 with master and multi-run changes (#936) * Add holopin.yml config (#923) Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com> * Updating Readme's to default to `dapr run -f .` (#874) * Updating Invoke readme in C# to favor dapr run -f Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> * Adding back single app run steps and tests, but to the end. Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Update service_invocation/csharp/http/README.md Co-authored-by: Mark Fussell <markfussell@gmail.com> Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> * Updated and hardened test Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Invoke * and partial PubSub with multi-run files & readmes & tests Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Multi run done for Pubsub C#, Python and Node (http, sdk) Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> * Added Pubsub support for Go, Java Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> * updating readmes with correct appid Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> * Updating tests for PubSub and Service invoke to Paas with multiapp run Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * More fine tuning of pubsub tests (timeouts, step ends) Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Fixing Python FastAPI and C# Pubsub tests Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> --------- Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Co-authored-by: Mark Fussell <markfussell@gmail.com> * Patching tests to pass (C# timing, Python uvicorn) (#933) Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> --------- Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com> Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> Co-authored-by: Marc Duiker <marcduiker@users.noreply.github.com> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Co-authored-by: Mark Fussell <markfussell@gmail.com> * Fixing MMD tests with tweaks Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * setting version for kafka (#939) * fixing version for kafka Signed-off-by: Pravin Pushkar <ppushkar@microsoft.com> * validate data with some initial values instead of larger Signed-off-by: Pravin Pushkar <ppushkar@microsoft.com> --------- Signed-off-by: Pravin Pushkar <ppushkar@microsoft.com> * Updating test env to Dapr runtime 1.12 RC4 and CLI RC2 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Update README.md Fixing typo. should be singular Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> * Update README.md Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> * add java workflow quickstart Signed-off-by: Sky Ao <aoxiaojian@gmail.com> * Updating runtime for tests to RC5 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Fixes port 6003 conflict between Go Pub-sub and Go bindings. Timing issue Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * add hello-kubernetes multi-app run k8s template Signed-off-by: Mukundan Sundararajan <65565396+mukundansundar@users.noreply.github.com> * address review comments. Signed-off-by: Mukundan Sundararajan <65565396+mukundansundar@users.noreply.github.com> * update cli to rc.4 (#943) * update cli to rc.3 Signed-off-by: Cassandra Coyle <cassie@diagrid.io> * update cli to rc.4 Signed-off-by: Cassandra Coyle <cassie@diagrid.io> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: Cassie Coyle <cassie.i.coyle@gmail.com> * Update CLI to rc4 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Updating .NET SDK to 1.12.* Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Dapr Golang SDK update to v1.9.0-rc-1 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Javascript SDK to 3.1.2 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Release 1.12 (#945) * Dapr Golang SDK update to v1.9.0-rc-1 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Javascript SDK to 3.1.2 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> --------- Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Java SDK update to <version>1.10.0-rc-1</version> Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Updated Java SDK to RC, and donated multi-app-run support too :) Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> * Updating tests to use dapr/dapr 1.12.0-rc.6 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> * sdk version changes Signed-off-by: rabollin <rabollin@microsoft.com> * CLI and Runtime version changes Signed-off-by: rabollin <rabollin@microsoft.com> * go.sum refresh Signed-off-by: rabollin <rabollin@microsoft.com> * Updating with js-sdk 3.2.0 Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> --------- Signed-off-by: Cassandra Coyle <cassie@diagrid.io> Signed-off-by: Cassie Coyle <cassie.i.coyle@gmail.com> Signed-off-by: rabollin <rabollin@microsoft.com> Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com> Signed-off-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> Signed-off-by: Paul Yuknewicz <paulyuk@microsoft.com> Signed-off-by: Pravin Pushkar <ppushkar@microsoft.com> Signed-off-by: Sky Ao <aoxiaojian@gmail.com> Signed-off-by: Mukundan Sundararajan <65565396+mukundansundar@users.noreply.github.com> Co-authored-by: Cassandra Coyle <cassie@diagrid.io> Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com> Co-authored-by: Josh van Leeuwen <me@joshvanl.dev> Co-authored-by: rabollin <rabollin@microsoft.com> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MBP-2.lan> Co-authored-by: Marc Duiker <marcduiker@users.noreply.github.com> Co-authored-by: Paul Yuknewicz <paulyuk@Pauls-MacBook-Pro-2.local> Co-authored-by: Mark Fussell <markfussell@gmail.com> Co-authored-by: Pravin Pushkar <ppushkar@microsoft.com> Co-authored-by: Sky Ao <aoxiaojian@gmail.com> Co-authored-by: Mukundan Sundararajan <65565396+mukundansundar@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| checkout | ||
| order-processor | ||
| README.md | ||
| dapr.yaml | ||
| makefile | ||
README.md
Dapr pub/sub
In this quickstart, you'll create a publisher microservice and a subscriber microservice to demonstrate how Dapr enables a publish-subscribe 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.
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
requestsclick here.
This quickstart includes one publisher:
- Node client message generator
checkout
And one subscriber:
- Node subscriber
order-processor
Run all apps with multi-app run template file:
This section shows how to run both applications at once using multi-app run template files with dapr run -f .. This enables to you test the interactions between multiple applications.
- Install dependencies:
cd ./order-processor
npm install
cd ..
cd ./checkout
npm install
cd ..
- Open a new terminal window and run the multi app run template:
dapr run -f .
The terminal console output should look similar to this:
== APP - checkout-sdk == Published data: {"orderId":1}
== APP - order-processor == Subscriber received: {"orderId":1}
== APP - checkout-sdk == Published data: {"orderId":2}
== APP - order-processor == Subscriber received: {"orderId":2}
== APP - checkout-sdk == Published data: {"orderId":3}
== APP - order-processor == Subscriber received: {"orderId":3}
== APP - checkout-sdk == Published data: {"orderId":4}
== APP - order-processor == Subscriber received: {"orderId":4}
== APP - checkout-sdk == Published data: {"orderId":5}
== APP - order-processor == Subscriber received: {"orderId":5}
== APP - checkout-sdk == Published data: {"orderId":6}
== APP - order-processor == Subscriber received: {"orderId":6}
== APP - checkout-sdk == Published data: {"orderId":7}
== APP - order-processor == Subscriber received: {"orderId":7}
== APP - checkout-sdk == Published data: {"orderId":8}
== APP - order-processor == Subscriber received: {"orderId":8}
== APP - checkout-sdk == Published data: {"orderId":9}
== APP - order-processor == Subscriber received: {"orderId":9}
== APP - checkout-sdk == Published data: {"orderId":10}
== APP - order-processor == Subscriber received: {"orderId":10}
- Stop and clean up application processes
dapr stop -f .
Run a single app at a time with Dapr (Optional)
An alternative to running all or multiple applications at once is to run single apps one-at-a-time using multiple dapr run .. -- dotnet run commands. This next section covers how to do this.
Run Node message subscriber with Dapr
- Install dependencies:
cd ./order-processor
npm install
- Run the Node publisher app with Dapr:
dapr run --app-port 5002 --app-id order-processing-sdk --app-protocol http --dapr-http-port 3501 --resources-path ../../../components -- npm run start
Run Node message publisher with Dapr
- Install dependencies:
cd ./checkout
npm install
- Run the Node publisher app with Dapr:
dapr run --app-id checkout-sdk --app-protocol http --dapr-http-port 3500 --resources-path ../../../components -- npm run start
Stop the apps and clean up
dapr stop --app-id checkout-sdk
dapr stop --app-id order-processor-sdk