OnlineTaxi网约车调度
一、部署前置准备
1.1 环境要求
| 组件 | 版本要求 |
|---|---|
| JDK | 1.8+ |
| Maven | 3.6+ |
| MySQL | 5.7+ / 8.0 |
| Redis | 5.0+(如项目使用) |
| Node.js | 14+(如需前端) |
1.2 获取源码
git clone https://github.com/MacroTse/OnlineTaxi.git
cd OnlineTaxi1.3 创建数据库
根据项目提供的 SQL 文件(通常位于 sql/ 或 doc/ 目录)创建数据库:
CREATE DATABASE onlinetaxi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;导入 SQL 文件创建表结构和初始数据。
二、启动基础设施服务
2.1 启动 MySQL 和 Redis
确保 MySQL 和 Redis 服务已启动。如果使用 Docker:
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
docker run -d --name redis -p 6379:6379 redis:alpine2.2 启动注册中心(cloud-eureka)
Eureka 是微服务的注册中心,必须最先启动。
进入 cloud-eureka 模块,修改 application.yml 中的端口配置(默认通常为 8761),然后运行主启动类。
启动后访问 http://localhost:8761 确认 Eureka 控制台可访问。
2.3 启动配置中心(cloud-config-server)
配置中心从 Git 仓库或本地读取各服务的配置文件。修改 application.yml 中的 Git 仓库地址或本地配置路径,然后启动。
如果项目使用本地配置,可跳过此步骤,直接在各自服务的 application.yml 中配置。
三、启动能力层服务
能力层服务是核心业务逻辑,需要按依赖关系依次启动。建议顺序:
1. 公共模块(internal-common) :这是所有服务引用的二方库,需要先 mvn install 安装到本地 Maven 仓库。
cd internal-common
mvn clean install -DskipTests2. 基础服务:service-sms(短信)、service-verification-code(验证码)、service-map(地图)、service-passenger-user(乘客用户)。
3. 核心业务服务:service-order(订单)、service-order-dispatch(派单)、service-valuation(计价)、service-wallet(钱包)、service-payment(支付)。
每个服务修改 application.yml 中的数据库连接、Redis 地址、Eureka 注册地址后启动。
四、启动业务层服务
业务层是面向用户端的 API 接口:
- api-passenger:乘客端接口
- api-driver:司机端接口
- api-listen-order:司机听单
启动前确认 Eureka 中已注册的能力层服务正常运行。
五、启动网关与监控(可选)
5.1 API 网关(cloud-zuul)
网关是系统的统一入口,负责路由转发。修改路由配置,将乘客端、司机端请求转发到对应服务。
5.2 监控组件
- cloud-hystrix-dashboard:熔断监控仪表盘
- cloud-admin:健康检查
- cloud-zipkin-ui:链路追踪
这些组件非必需,但有助于观察服务运行状态。
六、验证部署
- 访问 Eureka 控制台 http://localhost:8761,确认所有服务已注册
- 通过网关或直接调用各服务接口,验证业务功能
- 检查日志确认无连接错误
七、常见问题排查
服务无法注册到 Eureka:检查 Eureka 地址配置是否正确(eureka.client.service-url.defaultZone),确认 Eureka 服务已启动。
数据库连接失败:检查 application.yml 中的 JDBC URL、用户名、密码,确认 MySQL 服务运行中。
端口冲突:每个微服务需要独立端口。如果端口被占用,修改 server.port。
Feign 调用失败:确认被调用服务已在 Eureka 中注册,且服务名配置正确。
其他参考项目
如果你需要更完整的部署文档,以下项目提供了更清晰的快速启动指南:
NeuroRides(Django + PostGIS) :提供完整的 Docker Compose 部署方案,支持 docker-compose up --build 一键启动,包含 Celery 异步任务和 WebSocket 实时追踪。
go-ride(Go + PostgreSQL) :提供 make up 和 make migrate-up 命令,使用 Docker Compose 管理 PostgreSQL,Swagger 文档地址明确。
realtime_dispatch_system:提供 Swagger API 文档、Grafana 监控面板和 Prometheus 指标端点,适合需要监控能力的场景。