demo-ds
	- nginx je zde v roli load balanceru
	- node aplikace jsou v roli workers
	- redis je sdílený stav node aplikací
	- příkazy:
		- docker compose up -d --build (vytvoří images a zpustí kontejnery)
		- nyní na https://localhost:8080 bude vidět počítadlo návštěv a id kontejneru, který obsloužil požadavek
		- node app můžeme škálovat: docker compose up -d --scale app=3 (nyní při F5 se id bude měnit a stav bude konzistentní)
		- pomocí docker stop ID můžeme simulovat výpadek některé node app, ale systém stále poběží

demo-queue
	- producers - web api - přijímá objednávky
	- workers - node app - zpracovává objednávky 
	- redis - dělá frontu požadavků pro workery (v roli message brokera)
	- příkazy:
		- docker compose up -d --build
		- docker compose logs -f worker (logy workerů aby bylo vidět co se děje) -- nejlépe v novém CLI
		- for i in {1..10}; do curl localhost:3000/order/$i & done (zpustí více objednávek na jednou)
			- web api je dá do fronty a může obsluhovat dále nemusí požadavek řešit -> dostupnost
			- požadavky řeší worker mimo
			- nyní to bude chvíli trvat je jeden worker
		- docker compose up -d --scale worker=5 (uděláme 5 workerů)
			- nyní bude znovu po vytvoření forem více objednávek obsluha rychlejší
			- pokud některý worker vypadne pouze spomalení
			- pokud vypneme všechny tak se požadavky kupí ve frontě -> neztratí se

demo-swarm
	- jednoduchý orchestrátor přímo od Dockeru
	- umožnuje například 100% dostupnost služby při aktualizaci na novou verzi
		- tím že služba běží replikovaně a swarm postuponě vždy jednu repliku zastaví aktualizuje a zpustí a poté jde na další repliku, dokud neudělá všechny
	příkazy:
		- docker build -t mojeweb:v1 ./v1
		- docker build -t mojeweb:latest ./v1
		- docker build -t mojeweb:v2 ./v2
			- tyto tři příkazy vytvoří potřebné images
		- docker swarm init (povolení swarm módu)
		- docker stack deploy -c docker-stack.yml demo (zpustí kontejnery docker stack je obdoba docker compose)
		- nyní na adrese 172.20.58.157 běží aplikace
		- docker service scale demo_web (škálování webu)
		- na adrese 172.20.58.157:8080 běží docker swarm vizualizér
		- docker service update --image mojeweb:v2 demo_web (přepnu za běhu z verze 1 na verzi 2 bez výpadku služby) 



mezi jendotlivími demi vždy dát docker rm -f $(docker ps -aq) 
	- příkaz zastaví a smaže všechny kontejnery a tím uvolní porty 

pro ukončení a odstranění swarm dema:
	- docker stack rm demo
	- docker system prune -f
	- docker swarm leave --force
								
		