# c12306A **Repository Path**: ly__yong/c12306A ## Basic Information - **Project Name**: c12306A - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-12 - **Last Updated**: 2021-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 12306 后端微服务结构 ## 目录结构和功能 12306A/       12306后端A小组
|------rpc       grpc相关的接口和协议文件
|   |------pay     pay服务器的rpc代码, 同理如果是user服务应该在该文件夹下建立user文件夹
|     |------proto  .proto文件存放
|     |------client  grpc客户端, grpc服务再server中自己实现
|------server      每个微服务项目
|   |------candidate  候补服务器
|      |------controller  控制层,数据的接受的校验
|      |------service  服务层,业务逻辑
|      |------model  模型层,与数据库连接
|      |------redis  缓存连接
|      |------setting  配置服务
|      |------config  配置文件存放
|   |------pay     支付服务器和订单
|   |------search   搜索
|   |------ticket    购票服务器
|   |------user     用户服务器
|   |------ticketPool     线程池服务,主要是对内提供服务
## 数据库 https://gitee.com/ly__yong/c12306a_sql.git ## API接口文档 https://jh44bdd2zi.feishu.cn/docs/doccnnxTiMf5mcv1cRZEbkSwZmf?from=from_copylink # 部署方式 ## 必要软件 1. docker 2. docker-compose 3. Mysql workbench 8.0 ## 数据库导入数据 - 使用命令`docker-compose up -d mysql`运行mysql的docker镜像 - 使用Mysql workbench 8.0链接到mysql, 端口号为3310,用户名root,密码12306A.12306A - 从数据库地址中下载到`12306a_test.sql`文件, 使用data import功能导入数据 ## 构建 在启动项目前需要构建所有的服务
Linux下使用命令`source ./build.sh`
windows下使用命令`./build.cmd` ## 启动所有的docker服务 分别按顺序使用如下命令启动
1. `docker-compose up -d zoo` 2. `docker-compose up -d kafka` 3. `docker-compose up -d consul` 4. `docker-compose up -d zipkin` 5. `docker-compose up -d main-redis` 6. `docker-compose up -d candidate-server` 7. `docker-compose up -d pay-server` 8. `docker-compose up -d user-server` 9. `docker-compose up -d ticket-pool-k` 10. `docker-compose up -d search-server` 11. `docker-compose up -d ticket-server` 12. `docker-compose up -d nginx` ## 测试 以上所有项目都启动完后, 等待redis预热和初始化票池, 大概需要30分钟时间. 检查search-server日志显示redis已初始化完.
使用url `local/12306a/` 加上接口路径可以访问到接口