Tcp 特使';逻辑DNS连接管理

Tcp 特使';逻辑DNS连接管理,tcp,load-balancing,envoyproxy,Tcp,Load Balancing,Envoyproxy,在逻辑DNS服务发现的文档()中,特使说: “仅在需要建立新连接时使用返回的第一个IP地址 “被发起” 特使如何决定何时需要启动新的上游连接 它还说: “连接永远不会排空” 如果无法访问上游主机,旧连接会发生什么情况?运行状况检查是否适用于当前已建立连接的所有上游主机,还是仅使用当前“第一个IP地址”监视主机?如果是后一种情况,我是否正确地假设,一旦特使尝试向其写入并且对等ACK超时,他只会删除失败的上游连接(并因此停止尝试向这些主机发送流量)?如果是这样,是否可以配置超时持续时间?在查看代码并

在逻辑DNS服务发现的文档()中,特使说:

“仅在需要建立新连接时使用返回的第一个IP地址 “被发起”

特使如何决定何时需要启动新的上游连接

它还说:

“连接永远不会排空”


如果无法访问上游主机,旧连接会发生什么情况?运行状况检查是否适用于当前已建立连接的所有上游主机,还是仅使用当前“第一个IP地址”监视主机?如果是后一种情况,我是否正确地假设,一旦特使尝试向其写入并且对等ACK超时,他只会删除失败的上游连接(并因此停止尝试向这些主机发送流量)?如果是这样,是否可以配置超时持续时间?

在查看代码并进行一些测试后,我看到了以下内容:

特使如何决定何时需要建立新的上游连接 发起

  • 对于连接建立,在TCP代理(我使用的过滤器)的情况下,下游连接和上游连接之间存在1:1的映射,因此当建立新的下游连接时,将建立新的上游连接
如果上游主机变为 遥不可及

  • 这取决于连接是否正常终止(TCP RST数据包已发送)。如果是,则连接将被破坏(与下游连接一起),如果不是,则在TCP连接超时之前不会发生任何事情(我相信是由于
    TCP\u用户\u超时
    TCP\u重试2
    重试-在我的本地计算机上花费了15分钟以上)
运行状况检查是否适用于当前已安装的所有上游主机 已建立的连接,还是仅使用 当前“第一个IP地址”

  • 它们仅适用于当前的“第一个IP地址”
如果是后者,我是否正确地认为特使只会移除 上游连接失败(因此停止尝试发送) 当它尝试写入到这些主机和对等机ACK时 超时

  • 对。通常情况下,下游客户端超时会首先启动并破坏连接
如果是,是否可以配置超时持续时间

  • 我找不到一个选项来设置特使中套接字的
    TCP\u USER\u TIMEOUT
    。更改操作系统
    tcp_重试2
    可能会有所帮助,但根据文档,总时间也会受到tcp连接平滑往返时间的影响,因此更改
    tcp_重试2
    将无法定义绝对超时值