Рейтинг:1

Замораживает ли cgroup ожидание очистки буферов отправки TCP?

флаг gh

Какие гарантии существуют для сброса буферов отправки TCP, если таковые имеются, когда подсистема морозильной камеры зависает cgroup?

Рассмотрим следующий сценарий: сервер A, работающий в контрольной группе, отправляет данные на сервер B через TCP. Сокет TCP настроен на использование алгоритма Naggle (т. TCP_NODELAY опция не установлена). Следовательно, Отправитьпередача данных через сокет не блокируется для ACK сервера B, а возвращается после того, как данные, которые должны быть отправлены, были скопированы в буфер отправки TCP. После этого, но до отправки данных на сервер B, cgroup замораживается.

Что происходит с данными в буфере отправки TCP?

  • Будет ли операция замораживания ждать, пока все данные в буфере не будут подтверждены сервером B? Что делать, если приемный буфер сервера B заполнен? Будет ли замораживание бесконечно ждать подтверждения сервера B?
  • Будет ли замораживание не ждать ACK сервера B и продолжать отправлять данные после размораживания контрольной группы? Если задержка между замораживанием и оттаиванием достаточно велика для того, чтобы сервер B закрыл TCP-соединение, данные в буфере будут потеряны.

Ссылки на спецификации и гарантии такого поведения приветствуются. Но, может быть, нет никаких гарантий, поэтому полагаться на любое поведение было бы ненадежно?

Предыстория вопроса заключается в том, что мне интересно, насколько осторожным нужно быть при отправке данных через TCP на AWS Lambda (я предполагаю, что AWS Lambda использует контрольные группы для замораживания/оттаивания после/до обработки вызова Lambda). Достаточно ли сбросить буферы приложений в буфер отправки TCP-сокета/TCP? Или нужно убедиться, что сервер B получил данные на прикладном уровне, например, используя HTTP и ожидая HTTP-ответа сервера?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.