Introduction
This is a demo project to showcase running microservices on Alibaba Cloud.
This demo is powered by the following projects and products:
- Apache Dubbo for Remote Procedure Call
- Spring Cloud Alibaba for Service to Service Call
- Nacos for Service Discovery and Configuration management
- Alibaba Cloud EDAS for deployment and hosting
- Alibaba Cloud ARMS for monitoring
- Alibaba Cloud SAE for deployment and hosting without being aware of the underlying infrastructure.
Architecture
This project contains the following applications (more applications are on the way):
- frontend: A Java application with SpringMVC and thymeleaf as template engine.
- cartservices: A Java application that provides basic operations to add products to shopping carts, which is powered by Apache Dubbo.
- productservice: A Java application that provies basic operations to list all the products and query product by ID, which is powered by Spring Cloud Alibaba.
Build
Build docker image using docker-compose
You can use docker-compose to build docker images:
docker-compose build
Build docker image using scripts
You need to go to the src
directory, for each sub module, there is a build.sh
file, just run it to build the docker image for each module.
./build.sh
Deploy
Deploy with docker-compose
This project can be deployed to docker with the following command
docker-compose -f docker-compose.yml up
If you want to undeploy, use the following command
docker-compose -f docker-compose.yml down
Deploy to Kubernetes cluster
This project can be deployed to Kubernetes cluster with the following command:
cd kubernetes-manifests/
for i in *.yaml; do kubectl apply -f $i; done
If you want to delete the deployment, please use the following command:
for i in *.yaml; do kubectl delete -f $i; done
Deploy with helm
This project can be deployed to Kubernetes cluster with helm chart:
helm install ./helm-chart --name microservice-demo
If you want to delete the deployment with helm, use the following command:
helm delete microservice-demo
Collaborator
If you are a collaborator, please read the Collaborator to prepare for development.
Credit
This project is originiated from GoogleCloudPlatform/microservice-demo