envoyproxy/envoy

strict_dns: allow to keep stale targets for a specified amount of time

Open

#15,457 创建于 2021年3月12日

在 GitHub 查看
 (1 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/dnshelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

Problem: When a DNS does not return all targets on each resolve, strict_dns will continually be adding and draining targets. For this case logical_dns is better, but it's still not great, it keeps track of a single logical target even though connections are made to several, for the given resolution interval all connections and traffic will flow to a single IP address, also I really don't know how outlier_detection and other advanced features can play with a logical_dns cluster. original_dst cluster supports cleaning unused targets and be an option, but it's also probably unsafe since it allows connecting to any IP address.

Proposed Solutions:

  • Adding support for cleanup_interval for strict_dns clusters like original_dst does, and remove them when they have not been returned for a given time.
  • Adding a "mixed dns" cluster which supports this sort of behavior.

贡献者指南