{"id":18895599,"url":"https://github.com/harmonycloud/space-train-ticket","last_synced_at":"2026-02-28T00:30:15.818Z","repository":{"id":166854160,"uuid":"642399587","full_name":"KindlingProject/space-train-ticket","owner":"KindlingProject","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-18T14:07:18.000Z","size":61810,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-12-31T07:44:16.417Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KindlingProject.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-1.0.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-18T13:33:48.000Z","updated_at":"2023-05-18T13:38:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"442a1edf-a5c1-46b7-9298-e6d515cf60a4","html_url":"https://github.com/KindlingProject/space-train-ticket","commit_stats":null,"previous_names":["kindlingproject/space-train-ticket"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KindlingProject%2Fspace-train-ticket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KindlingProject%2Fspace-train-ticket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KindlingProject%2Fspace-train-ticket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KindlingProject%2Fspace-train-ticket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KindlingProject","download_url":"https://codeload.github.com/KindlingProject/space-train-ticket/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239870298,"owners_count":19710684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T08:28:59.452Z","updated_at":"2026-02-28T00:30:15.763Z","avatar_url":"https://github.com/KindlingProject.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Train Ticket：A Benchmark Microservice System\n# \u003cimg src=\"./image/logo.png\"\u003e\n\n\nThe 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.\n- Java - Spring Boot, Spring Cloud\n- Node.js - Express\n- Python - Django\n- Go - Webgo\n- DB - Mongo、MySQL\n\nYou can get more details at [Wiki Pages](https://github.com/FudanSELab/train-ticket/wiki).\n\n## Service Architecture Graph\n![architecture](./image/2.png)\n\n## Quick Start\nWe provide k8s deployment to quickly deploy our application:  [Using Kubernetes](#Using-Kubernetes).\n\n### Using Kubernetes\nHere is the steps to deploy the Train Ticket onto any existing Kubernetes cluster.\n\n#### Presequisite\n* An existing Kubernetes cluster\n* Helm supported, you can see https://helm.sh/docs/helm/helm_install/ for helm install\n* PVC supported, you can see https://openebs.io/docs/2.12.x/user-guides/installation for localPV support.\n\n#### 1. Clone the Repository\n```bash\ngit clone --depth=1 https://github.com/FudanSELab/train-ticket.git \ncd train-ticket/\n```\n\n#### 2. Deploy the application\n### For Quick Start\n```bash\nmake deploy\n\n```\n\nNote: if you want specify namespace, set Namespace paramter:\n\n```bash\nmake deploy Namespace=yournamespace\n```\n\n### Deploy Mysql Clusters For Each Services\n\n```bash\nmake deploy DeployArgs=\"--independent-db\"\n```\n\n### With Moinitorig\n```bash\nmake deploy DeployArgs=\"--with-monitoring\"\n```\n\n### With Distributed Tracing\n```bash\nmake deploy DeployArgs=\"--with-tracing\"\n```\n\n### Deploy All \n```bash\nmake deploy DeployArgs=\"--all\"\n```\n\n### Customise Deployment\nYou can freely combine parameters for custom deployment， for example, deploy with monitoring and tracing:\n\n```bash\nmake deploy DeployArgs=\"--with-tracing --with-monitoring\"\n```\n\n### Reset Deployment\n\n```\nmake reset-deploy\n# if you specify namespace when deploy, set namespace as well when reset\n# make reset-deploy Namespace=yournamespace\n```\n\n#### 3. Run `kubectl get pods` to see pods are in a ready state\n\n#### 4. Visit the Train Ticket web page at [http://[Node-IP]:32677](http://[Node-IP]:32677).\n\n\n## Build From Source\nIn the above, We use pre-built images to quickly deploy the application.\n\nIf you want to build the application from source, you can refer to [the Installation Guide](https://github.com/FudanSELab/train-ticket/wiki/Installation-Guide).\n\n## Test scripts\nUse scripts to test train-ticket: [https://github.com/FudanSELab/train-ticket-auto-query](https://github.com/FudanSELab/train-ticket-auto-query)\n\n## Screenshot\n![screenshot](./image/main_interface.png)\nIn order to know how to use the application, you can refer to [the User Guide](https://github.com/FudanSELab/train-ticket/wiki/User-Guide).\n\n## Communication\n\n* [FAQ](https://github.com/FudanSELab/train-ticket/wiki/FAQ)\n* [Submit an issue](https://github.com/FudanSELab/train-ticket/issues)\n* [Open a pull request](https://github.com/FudanSELab/train-ticket/pulls)\n\n## Information\n\n* [Release Note](https://github.com/FudanSELab/train-ticket/wiki/Release-Note)\n\n## Serverless Train Ticket\n\nWe have released a serverless version of Train Ticket.\n\n* [serverless-trainticket](https://github.com/FudanSELab/serverless-trainticket)\n\n## Paper Reference\nBowen Li, Xin Peng, Qilin Xiang, Hanzhang Wang, Tao Xie, Jun Sun, Xuanzhe Liu. \u003cbr/\u003e\n**Enjoy your observability: an industrial survey of microservice tracing and analysis**\u003cbr/\u003e\n[Empirical Software Engineering](https://www.springer.com/journal/10664/), Volume 27, 25, 2022.\u003cbr/\u003e\nDownload:[[PDF](https://link.springer.com/content/pdf/10.1007/s10664-021-10063-9.pdf)]\n\n\u003cbr/\u003e\n\nChenxi Zhang, Xin Peng, Chaofeng Sha, Ke Zhang, Zhenqing Fu, Xiya Wu, Qingwei Lin, Dongmei Zhang\u003cbr/\u003e\n**DeepTraLog: Trace-Log Combined Microservice Anomaly Detection through Graph-based Deep Learning**\u003cbr/\u003e\nIn Proceedings of the 44th International Conference on Software Engineering ([ICSE 2022](https://dblp.uni-trier.de/db/conf/icse/icse2022.html)) , Pittsburgh, USA, May, 2022.\u003cbr/\u003e\nDownload:[[PDF](https://dl.acm.org/doi/pdf/10.1145/3510003.3510180)]\n\n\u003cbr/\u003e\n\t\nDewei Liu, Chuan He, Xin Peng, Fan Lin, Chenxi Zhang, Shengfang Gong, Ziang Li, Jiayu Ou, Zheshun Wu\u003cbr/\u003e\n**MicroHECL: High-Efficient Root Cause Localization in Large-Scale Microservice Systems**\u003cbr/\u003e\nIn Proceedings of the 43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice ([ICSE-SEIP 2021](https://dblp.uni-trier.de/db/conf/icse/seip2021.html#LiuH0LZGLOW21)) , Madrid, Spain, May, 2021.\u003cbr/\u003e\nDownload:[[PDF](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=\u0026arnumber=9402058)]\n\n\u003cbr/\u003e\n\nQilin Xiang, Xin Peng, Chuan He, Hanzhang Wang, Tao Xie, Dewei Liu, Gang Zhang, Yuanfang Cai\u003cbr/\u003e\n**No Free Lunch: Microservice Practices Reconsidered in Industry**\u003cbr/\u003e\narXiv preprint arXiv:2106.07321, 2021.\u003cbr/\u003e\nDownload:[[PDF](https://arxiv.org/pdf/2106.07321.pdf)]\n\n\u003cbr/\u003e\n\nXiaofeng Guo, Xin Peng, Hanzhang Wang, Wanxue Li, Huai Jiang, Dan Ding, Tao Xie, Liangfei Su\u003cbr/\u003e\n**Graph-based trace analysis for microservice architecture understanding and problem diagnosis**\u003cbr/\u003e\nIn Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering ([ESEC/FSE 2020](https://dblp.uni-trier.de/db/conf/sigsoft/fse2020.html)) , Virtual Event, USA, November, 2020.\u003cbr/\u003e\nDownload:[[PDF](https://dl.acm.org/doi/pdf/10.1145/3368089.3417066)]\n\n\u003cbr/\u003e\n\n\nXiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chao Ji, Dewei Liu, Qilin Xiang, and Chuan He. \u003cbr/\u003e\n**Latent Error Prediction and Fault Localization for Microservice Applications by Learning from System Trace Logs.**\u003cbr/\u003e\nIn Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering ([ESEC/FSE 2019](https://dblp.uni-trier.de/db/conf/sigsoft/fse2019.html)) , Tallinn, Estonia, August 2019. \u003cbr/\u003e\nDownload: [[PDF](https://cspengxin.github.io/publications/fse19-zhou-microservice.pdf)] [[BibTeX](https://dblp.uni-trier.de/rec/bibtex/conf/sigsoft/Zhou0X0JLXH19)] \n\n\u003cbr/\u003e\n\nXiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chao Ji, Wenhai Li, and Dan Ding. \u003cbr/\u003e\n**Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study.** \u003cbr/\u003e\n[IEEE Transactions on Software Engineering](https://www.computer.org/web/tse) , To appear. \u003cimg src=\"image/cup.png\" height=\"20px\"/\u003e \u003cimg src=\"image/tse-best-paper-award.png\" height=\"28px\"\u003e \u003cbr/\u003e \nDownload: [[PDF](https://cspengxin.github.io/publications/tse19-msdebugging.pdf)] \n\n\u003cbr/\u003e\n\nXiang Zhou, Xin Peng, Tao Xie, Jun Sun, Wenhai Li, Chao Ji, and Dan Ding. \u003cbr/\u003e\n**Delta Debugging Microservice Systems.** \u003cbr/\u003e\nIn Proceedings of 33rd IEEE/ACM International Conference on Automated Software Engineering ([ASE 2018](http://ase2018.com/)) , Short Paper, Montpellier, France, September 2018. \u003cbr/\u003e\nDownload: [[PDF](https://cspengxin.github.io/publications/ase18-debugmicroservice.pdf)] [[BibTeX](https://dblp.uni-trier.de/rec/bibtex/conf/kbse/ZhouPX0LJD18)] \u003cbr/\u003e\nAn extended version to appear in IEEE Transactions on Services Computing. \n\n\u003cbr/\u003e\n\nXiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chenjie Xu, Chao Ji, and Wenyun Zhao. \u003cbr/\u003e\n**Poster: Benchmarking Microservice Systems for Software Engineering Research.** \u003cbr/\u003e\nIn Proceedings of the 40th International Conference on Software Engineering ([ICSE 2018](https://www.icse2018.org/)) , Posters, Gothenburg, Sweden, May 2018. \u003cbr/\u003e\nDownload: [[PDF](https://cspengxin.github.io/publications/icse18poster-microservices.pdf)] [[BibTeX](https://dblp.uni-trier.de/rec/bibtex/conf/icse/ZhouPX0XJZ18)] \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmonycloud%2Fspace-train-ticket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharmonycloud%2Fspace-train-ticket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmonycloud%2Fspace-train-ticket/lists"}