Что такое L3 Balancer

«Что такое L3 Balancer» — вопрос из категории Сети, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

L3-балансировщик работает на сетевом уровне (Layer 3 модели OSI), распределяя трафик между серверами на основе IP-адресов. В отличие от L7, он не анализирует содержимое запросов (HTTP-заголовки, cookies и т.д.).

Пример в Go с использованием net:

func handleConnection(conn net.Conn, backend string) {
    backendConn, _ := net.Dial("tcp", backend)
    go io.Copy(backendConn, conn)
    io.Copy(conn, backendConn)
    defer conn.Close()
    defer backendConn.Close()
}

Ключевые особенности:

  • Быстрее L7 за счет меньшего анализа трафика
  • Подходит для TCP/UDP-трафика
  • Не поддерживает продвинутые функции (A/B-тестирование, sticky sessions)
  • Часто используется в связке с DNS (Round Robin)