https://github.com/edwinvw/nats-demos
This repo contains the code for the demos that I use during talks I give about NATS and NATS Streaming.
https://github.com/edwinvw/nats-demos
distributed-systems nats nats-streaming
Last synced: about 1 month ago
JSON representation
This repo contains the code for the demos that I use during talks I give about NATS and NATS Streaming.
- Host: GitHub
- URL: https://github.com/edwinvw/nats-demos
- Owner: EdwinVW
- License: apache-2.0
- Created: 2019-09-18T07:38:57.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-11T06:27:50.000Z (almost 6 years ago)
- Last Synced: 2025-04-14T18:52:13.016Z (6 months ago)
- Topics: distributed-systems, nats, nats-streaming
- Language: C#
- Homepage:
- Size: 14.6 MB
- Stars: 21
- Watchers: 4
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NATS demos
This repo contains the code for the demos that I use during talks I give about NATS and NATS Streaming.The slides of a talk I gave about NATS can be found [here](https://edwinvw.github.io/presentations/nats.html).
The repo contains the following demo projects:
- NATS
- Basic messaging demos (pub/sub, request/response, queue-groups, wildcards).
- NATS-Streaming
- BasicMessaging: basic messaging demo focussed on replaying messages.
- Store: simple event-based distributed book-store application using NATS and NATS-Streaming.Within every demo folder I've included some Powershell scripts to start the necessary components.
The demos have some **prerequisites**:
1. All scripts that start NATS or NATS Streaming assume that the folders where you have installed the NATS and NATS Streaming executables are added to the `PATH` environment variable. If for some reason you don't want that, just change the path to the executable in the `start-nats.ps1`, `start-nats-streaming.ps1`, `start-local-cluster.ps1` and `add-server-to-cluster.ps1`scripts.
2. The store demo assumes there is a SQL Server running on your local machine on port 1434. If you want to use a different host or port, change the connection-string in the 3 DBContext classes in the *OrderProcesingService*, *OrdersQueryService* and *ShippingService*. Also change the host and port in the `reset.ps1` script.
3. The store demo assumes there's a folder `D:\Temp\NATSDemos\Store`. It uses this as the file-location for the file-system based storage provider for NATS Streaming. If you want to use a different folder, create it and change the folder in the `start-nats.ps1` script and the `reset.ps1` script.
4. If you want to use [NATS Board](https://github.com/devfacet/natsboard) for monitoring, you can use the `start-monitor.ps1` script in the Store demo folder. This script assumes that have installed NATS Board (and node/npm) by executing `npm install natsboard -g`.>Disclaimer: the code is **NOT production grade** and only for demo purposes and for experimenting with NATS and NATS Streaming.