Skip to content

Latest commit

 

History

History
159 lines (104 loc) · 5.17 KB

CHANGELOG-1.0.md

File metadata and controls

159 lines (104 loc) · 5.17 KB

v1.0.0

Deploy v1.0.0

For Quick Start

git clone https://github.com/FudanSELab/train-ticket.git release-1.0.0
cd train-ticket
make deploy

Note: if you want specify namespace, set Namespace paramter:

make deploy Namespace=yournamespace

Deploy Mysql Clusters For Each Services

git clone https://github.com/FudanSELab/train-ticket.git release-1.0.0
cd train-ticket
make deploy DeployArgs="--independent-db"

With Moinitorig

git clone https://github.com/FudanSELab/train-ticket.git release-1.0.0
cd train-ticket
make deploy DeployArgs="--with-monitoring"

With Distributed Tracing

git clone https://github.com/FudanSELab/train-ticket.git release-1.0.0
cd train-ticket
make deploy DeployArgs="--with-tracing"

Deploy All

git clone https://github.com/FudanSELab/train-ticket.git release-1.0.0
cd train-ticket
make deploy DeployArgs="--all"

Customise Deployment

You can freely combine parameters for custom deployment, for example, deploy with monitoring and tracing:

git clone https://github.com/FudanSELab/train-ticket.git release-1.0.0
cd train-ticket
make deploy DeployArgs="--with-tracing --with-monitoring"

Reset Deployment

make reset-deploy
# if you specify namespace when deploy, set namespace as well when reset
# make reset-deploy Namespace=yournamespace

Changelog since v0.2.1

Features Added

Service Discovery: Nacos

Use nacos as service register and discovery component.

Nacos use mysql cluster to store config information.

We use nacos 2.0.1 version, for more infromation of nacos, to see: https://nacos.io/zh-cn/docs/what-is-nacos.html

Gateway

Using gateway as the only entry point for all service calls. A series of cross-cutting functions can be completed in the service gateway, such as permission verification, current limiting and monitoring, etc., which can be completed through filters.

We use spring-cloud-gateway to implement the gateway function.

Flow Control: Sentinel

We use Sentinel to implement the flow control for gateway. For now, the flow control rule is simply defined in route level. We simply limited the QPS towards admin-basic-info-service to no more than 20.

To customize the flow control rule, update the configuration for Sentinel in GatewayConfiguration.java file.

Monitoring: Promethues+Grafana Deployment

We support prometheus + grafana solution in k8s deployment.

The deployment manifests of prometheus are located at:deployment/kubernetes-manifests/prometheus

Distributed Tracing: Skywalking+ES Supoort

We support skywalking + es solution in k8s deployment.

The deployment manifests of prometheus are located at:deployment/kubernetes-manifests/skywalking

Notable Changes

Log Format Unification

Unified log format for all services

Framework Upgrade

Upgrade spring-boot version from 1.5.0 to 2.3.12.RELEASE.

Upgrade related dependency of services.

Data Structrue Redesign

Extract the common data structure of the service and put it in ts-common, instead of redefining them each service once. And data field naming is normalized.

Dynamic Service Configuration

Each service can dynamically configure its own database information, service discovery information, message queue information etc., (k8s deployment through configmap and secret, docker-compose deployment through environment variables) without the need to repackage the image.

Mysql Cluster Mode Support

Because the relational nature of the train ticket business is complex, we use a relational database, ie mysql. To support clustered deployment of mysql, we use randondb's solution for mysql deployment. For more details, see: https://radondb.io/

Test Support

We provide test scripts for functional and performance testing of train-tickets. The script provides some scenarios, such as administrator_operations, normal_query_and_booking, rebooking, rebooking_failure, search_failure, and consign_preserve. At the same time, the script supports qos parameter setting, which can easily implement performance testing. Access test scripts at: https://github.com/FudanSELab/train-ticket-auto-query

Bug Fix

  • update order failed by the administrator.
  • delete order failed by the administrator.
  • delete user failed by the administrator.
  • delete price failed by the administrator.
  • delete station failed by the administrator.