Я использую систему на основе Java на CentOs, и иногда я вижу, что клиенты службы в течение короткого времени сталкиваются с ошибками «Соединение отклонено». Интересно то, что сервер одновременно обслуживает запросы. Ошибка периодическая.
Возможно ли, что невыполненный журнал сокета слушателя на короткое время заполнится, что приведет к отклонению новых запросов? У меня заканчиваются подсказки, и я пока не смог воспроизвести это за пределами системы непрерывной интеграции.
Думаю, твоя догадка верна, man listen(2)
говорит (курсив мой):
Аргумент backlog определяет максимальную длину, до которой может вырасти очередь ожидающих соединений для sockfd. Если запрос на подключение поступает при заполнении очереди, клиент может получить сообщение об ошибке с указанием ECONNREFUSED. или, если базовый протокол поддерживает повторную передачу, запрос может быть проигнорирован, так что более поздняя повторная попытка соединения будет успешной.