• Русский
  • TCP/HTTP Keepalive

    Содержание

    Основная концепция

    1. ALB поддерживает конфигурацию keepalive на уровне порта. Она может быть настроена на frontend.

    2. Keepalive работает между клиентом и ALB, а не между ALB и backend.

    3. Реализуется через конфигурацию Nginx, и Nginx требует и автоматически перезагружается при изменении конфигурации.

    4. TCP keepalive и HTTP keepalive — это два разных понятия:

      1. TCP keepalive — это функция TCP-протокола, которая периодически отправляет probe-пакеты для проверки, жива ли связь, когда нет передачи данных. Это помогает обнаруживать и очищать мертвые соединения.
      2. 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.