如果您遇到任何问题,请参阅以下部分以寻求帮助。
Fleet Engine 中丢失状态
使用 Fleet Engine 时,请在设计实现时预料到失败情况。例如,如果您向 Fleet Engine 发出更新车辆的请求,Fleet Engine 可能会返回一条错误,表明该车辆不存在。然后,您的实现应在新状态下重新创建车辆。
在极少数情况下,Fleet Engine 可能会发生灾难性故障,届时您可能需要重新创建大多数或所有车辆和任务。由于系统会进行配额检查以避免拒绝服务 (DOS) 攻击,因此如果创建速率过高,部分请求可能会再次因配额问题而失败。在这种情况下,请使用退避策略来减慢重新创建速率。
重试
请确保您的系统针对发送到 Fleet Engine 的请求实现了重试,因为它们可能偶尔会失败。Fleet Engine 客户端库默认会发出重试。
驾驶员应用中丢失状态
如果驱动程序应用崩溃,必须在驱动程序 SDK 中重新创建当前状态。应用应尝试重新创建任务,以确保它们存在并恢复其当前状态。应用还应为驱动程序 SDK 重新创建并明确设置经停点列表。
注意:除了指示实体是否已存在于数据库中以及存在时间的错误之外,这些恢复必须自主完成,而不能依赖于 Fleet Engine 中的信息。如果实体确实已存在,则可以忽略该错误,并使用实体的 ID 更新实体。