IT-словарь › Сети › SO_REUSEPORT

SO_REUSEPORT

Сети Svenska → Обновлено: 2026-10-19

Опция сокета, позволяющая нескольким процессам привязаться к одному и тому же порту; входящие соединения затем распределяет само ядро.

Традиционно многоядерный сервер работал так: либо один процесс принимает соединения и передаёт сокет рабочим, либо все наследуют один слушающий сокет и конкурируют за вызов accept(). Оба варианта чего-то стоят: в первом цикл родителя становится узким местом, во втором получаются либо «громовое стадо», либо блокировка на каждое соединение. Опция появилась в Linux 3.9 в 2013 году и переносит распределение в ядро, которое хеширует четвёрку соединения и отдаёт его в одну из очередей. Nginx предоставляет её как reuseport. Подвох: завершающийся процесс уносит с собой соединения, уже лежавшие в его очереди accept.

← Назад к словарю