The project is a train ticket booking system based on microservice architecture which contains 41 microservices. The programming languages and frameworks it used are as below.
- Java - Spring Boot, Spring Cloud
- Node.js - Express
- Python - Django
- Go - Webgo
- DB - Mongo、MySQL
You can get more details at Wiki Pages.
We provide k8s deployment to quickly deploy our application: Using Kubernetes.
Here is the steps to deploy the Train Ticket onto any existing Kubernetes cluster.
- An existing Kubernetes cluster
- Helm supported, you can see https://helm.sh/docs/helm/helm_install/ for helm install
- PVC supported, you can see https://openebs.io/docs/2.12.x/user-guides/installation for localPV support.
git clone --depth=1 https://github.com/FudanSELab/train-ticket.git
cd train-ticket/
kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml
kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
helm install train-ticket . --namespace train-ticket --create-namespace
To remove the deployment:
helm uninstall train-ticket -n train-ticket
kubectl delete namespace train-ticket
If you need to make changes to the service code, consult the original README.