Skip to content

An Alibaba Cloud native microservice demo powered by Apache Dubbo and Spring Cloud Alibaba

License

Notifications You must be signed in to change notification settings

why-ohh/alibabacloud-microservice-demo

 
 

Repository files navigation

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

About

An Alibaba Cloud native microservice demo powered by Apache Dubbo and Spring Cloud Alibaba

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 71.9%
  • HTML 17.4%
  • Dockerfile 3.3%
  • JavaScript 3.2%
  • Shell 1.7%
  • Go 1.4%
  • Other 1.1%