Гарантии доставки сообщений

Orleans Гарантии доставки сообщений по умолчанию выполняются не более одного раза. При необходимости, если вы настраиваете повторные попытки при тайм-ауте, Orleans вместо этого гарантирует доставку как минимум один раз.

Дополнительные сведения:

  • В каждом сообщении в Orleans установлено автоматическое время ожидания (подлежит настройке точное значение). Если ответ не поступает вовремя, возвращенный Task прерывается, вызывая исключение времени ожидания.
  • Вы можете настроить Orleans на автоматическое повторение при тайм-ауте. По умолчанию он не выполняет автоматические повторные попытки.
  • Код приложения также может реализовать повторные попытки при истечении времени ожидания.

Orleans Если система не настроена на автоматическую повторную попытку (параметр по умолчанию), а приложение не выполняет повторные отправки сообщений, Orleans предоставляет доставку сообщений по крайней мере один раз. Сообщение доставляется один раз или совсем не доставляется. Он никогда не поставляется дважды.

В системе с возможностью повторных попыток (либо средой выполнения, либо приложением) сообщение может поступать несколько раз. Orleans В настоящее время система не хранит постоянно, какие сообщения уже прибыли, и не подавляет последующие доставки. (Мы считаем, что это было бы довольно дорогостоящим.) Таким образом, в системе с повторными попытками Orleans не гарантирует доставки только один раз.

Если вы продолжаете делать попытки, возможно, бесконечно долго, сообщение в конечном итоге поступает, таким образом обеспечивая гарантию доставки хотя бы один раз. Обратите внимание, что "в конечном итоге поступает" — это то, что среда выполнения должна гарантировать. Это не происходит автоматически, просто потому что вы продолжаете пытаться снова. Orleans обеспечивает конечную доставку, так как зерна никогда не вступают в постоянное состояние сбоя, и сбой зерна в конечном итоге повторно активируется на другом сило.

Чтобы свести итог: в системе без повторных попыток Orleans гарантирует доставку сообщений по крайней мере один раз. В системе с бесконечными повторными попытками Orleans гарантируется как минимум один раз (и не гарантируется не более одного раза).

Это важно

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