Online Boutique is a cloud-first microservices demo application. The application is a web-based e-commerce app where users can browse items, add them to the cart, and purchase them.
Adapted from https://github.com/GoogleCloudPlatform/microservices-demo/tree/main (all of the sevices that weren't written in Go ahve been ported to Go.)
Online Boutique is composed of 11 microservices written in different languages that talk to each other over gRPC.
Find Protocol Buffers Descriptions at the ./protos directory.
# You may need to change the $USER in `build_images.sh`
# and run `docker login -u $username`
sudo bash build_images.shkubectl apply -Rf ./kubernetes/apply
kubectl get pods
# Test (Home Handler)
curl http://10.96.88.88/ -d "user_id=test"
# Checkout Handler
curl -X POST http://10.96.88.88/cart/checkout -d "[email protected]" -d "street_address=123 Main St" -d "zip_code=98101" -d "city=Seattle" -d "state=WA" -d "country=USA" -d "credit_card_number=4111111111111111" -d "credit_card_expiration_month=12" -d "credit_card_expiration_year=2025" -d "credit_card_cvv=123" -d "user_id=test"
# wrk
./utils/wrk -c 1 -t 1 http://10.96.88.88/ -d 30s -L
# Destroy
kubectl delete pv,pvc,sa,all --allkubectl port-forward svc/jaeger 16686:16686
xdg-open http://localhost:16686