TCP/HTTP Keepalive
Содержание
Основная концепция
-
ALB поддерживает конфигурацию keepalive на уровне порта. Она может быть настроена на frontend.
-
Keepalive работает между клиентом и ALB, а не между ALB и backend.
-
Реализуется через конфигурацию Nginx, и Nginx требует и автоматически перезагружается при изменении конфигурации.
-
TCP keepalive и HTTP keepalive — это два разных понятия:
- TCP keepalive — это функция TCP-протокола, которая периодически отправляет probe-пакеты для проверки, жива ли связь, когда нет передачи данных. Это помогает обнаруживать и очищать мертвые соединения.
- HTTP keepalive (также известный как persistent connections) позволяет нескольким HTTP-запросам использовать одно и то же TCP-соединение, избегая накладных расходов на установку новых соединений. Это улучшает производительность за счёт снижения задержек и использования ресурсов.
CRD
keepalive:
properties:
http:
description: Downstream L7 keepalive
properties:
header_timeout:
description: Keepalive header timeout. Default is not set.
type: string
requests:
description: Keepalive requests. Default is 1000.
type: integer
timeout:
description: Keepalive timeout. Default is 75s.
type: string
type: object
tcp:
description: TCPKeepAlive defines TCP keepalive parameters (SO_KEEPALIVE)
properties:
count:
description: The TCP_KEEPCNT socket option.
type: integer
idle:
description: The TCP_KEEPIDLE socket option.
type: string
interval:
description: The TCP_KEEPINTVL socket option.
type: string
type: object
type: object
Её можно настроить только на Frontend в .spec.config.keepalive
.