RELP в rsyslog: подтверждение передачи и возможный повтор сообщения
Фотография конкретного исполнения не приложена.
Для надёжной передачи журналов важно различать доставку по протоколу и окончательную запись в прикладное хранилище. RELP добавляет подтверждения обмена между клиентом и сервером. Это полезнее, чем оценивать успех только по открывшемуся TCP-соединению, однако не даёт основания обещать отсутствие любых повторов.
Документация imrelp описывает пограничный случай: клиент успел отправить сообщения, но соединение разорвалось до получения подтверждения сервера. При восстановлении небольшая часть сообщений может прийти повторно. Значит, даже подтверждающий протокол требует учитывать неопределённый результат передачи во время разрыва.
На принимающей стороне после imrelp могут оставаться очередь, преобразование и отдельное выходное действие. Получение протокольного подтверждения нельзя автоматически трактовать как подтверждение транзакции конечной базы. Требование сохранности должно указывать конкретную границу, а политика повторов — способ сопоставления записей без удаления разных событий с похожим текстом.
В стендовой приёмке используют устойчивые идентификаторы событий и контролируемый разрыв на разных этапах обмена. Сверяют исходный набор, принятые сообщения и результат конечного хранения. Отдельно оценивают остановку процессов и состояние их очередей. В отчёте подтверждают проверенные потери и повторы, сохраняя различие между надёжностью протокола и семантикой прикладной записи ровно один раз.
Основание — Official rsyslog8 daily stable documentation snapshot; exact installed release not inferred, разделы Purpose; duplication caveat; RELP forwarding output. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Использован снимок официальной документации rsyslog 8 daily stable. Это обновляемая ветка, а не комплект руководств конкретного установленного выпуска. Экспериментальные segmentedDisk и local queue scope в рекомендации не включены; установленная версия, очередь и получатель не проверялись.