服务失败的状况考虑

  1. FailOver:失败自动切换。就是服务消费者发现调用失败或者超时后,自动从可用的服务节点列表总选择下一个节点从新发起调用,也能够设置重试的次数。这种策略要求服务调用的操做必须是幂等的,也就是说不管调用多少次,只要是同一个调用,返回的结果都是相同的,通常适合服务调用是读请求的场景。
  2. FailBack:失败通知。就是服务消费者调用失败或者超时后,再也不重试,而是根据失败的详细信息,来决定后续的执行策略。好比对于非幂等的调用场景,若是调用失败后,不能简单地重试,而是应该查询服务端的状态,看调用究竟是否实际生效,若是已经生效了就不能再重试了;若是没有生效能够再发起一次调用。
  3. FailCache:失败缓存。就是服务消费者调用失败或者超时后,不当即发起重试,而是隔一段时间后再次尝试发起调用。好比后端服务可能一段时间内都有问题,若是当即发起重试,可能会加重问题,反而不利于后端服务的恢复。若是隔一段时间待后端节点恢复后,再次发起调用效果会更好。
  4. FailFast:快速失败。就是服务消费者调用一次失败后,再也不重试。实际在业务执行时,通常非核心业务的调用,会采用快速失败策略,调用失败后通常就记录下失败日志就返回了
相关文章
相关标签/搜索