排查常见问题

如果您遇到任何问题,请查看以下部分以寻求帮助。

Fleet Engine 中的丢失状态

使用 Fleet Engine 时,请设计您的实现,以预测故障。例如,如果您向 Fleet Engine 发出更新车辆的请求,它可能会返回一条错误,指明相应车辆不存在。然后,您的实现应以新状态重新创建车辆。

在极不可能发生的 Fleet Engine 灾难性故障场景中,您可能需要重新创建大多数车辆和任务,甚至所有车辆和任务。如果创建速率过高,由于有配额检查机制来避免拒绝服务 (DOS) 攻击,因此部分请求可能会因配额问题而再次失败。在这种情况下,请使用退避策略来减慢重新创建速率。

重试

请务必确保您的系统针对向 Fleet Engine 发出的请求实现重试机制,因为这些请求可能会偶尔失败。Fleet Engine 客户端库默认会进行重试。

驾驶员应用中的丢失状态

如果司机应用崩溃,该应用必须在 Driver SDK 中重新创建当前状态。应用应尝试重新创建任务,以确保任务存在并恢复其当前状态。应用还应重新创建并明确设置 Driver SDK 的经停点列表。

注意:这些恢复必须自主完成,不得依赖 Fleet Engine 中的信息,但指示实体是否已存在于数据库中的错误除外。如果实体已存在,则可以吸收该错误,并使用实体的 ID 更新实体。