Три места, где может лежать тело письма, и цена каждого проверено

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

Подробно

Внутри задания — умолчание и самое простое: всё держит одна система, и письмо либо есть в брокере, либо его нет. Цена — память и полоса: каждый мегабайт письма есть мегабайт, который брокер держит, повторяет и дважды толкает. Во внешнем хранилище задание становится маленьким, а брокер дешёвым — ценой второй системы на пути доставки: неудачная загрузка превращается в собственное состояние доставки, а тело, истёкшее раньше, чем письмо доставлено, оставляет задание, которое не довести до конца. Поставочный TTL в один час против суточного срока доставки — ровно эта опасность, и всякий, кто включает хранилище, обязан их согласовать. В каталоге сдачи тело начинается файлом, и это самый совместимый расклад — файл может написать любая программа — и самый медленный, ведь каждое письмо стоит работы с диском. Для Хаба верен первый расклад, и будет верен ещё долго: наши узлы шлют то, что мы им передаём, объёмы скромные, а вторая система на пути доставки — это второе, за чем надо следить. Каталог записывает две другие потому, что клиенты, которым они нужны, приходят с ними уже на руках.