Служебная фабрика напоминаний актера и дубликаты сообщений

Документация Service Fabric гласит, что:

Актеры могут получать дубликаты сообщений от одного и того же клиента.

Это касается и напоминаний? Если я установлю одно напоминание для своего экземпляра актера, может ли оно вызываться дважды одновременно?

1 ответ

Решение

Моя команда отправила аналогичный вопрос в службу поддержки Service Fabric, и это был их ответ...

* "Если происходит аварийное переключение (т. Е. Текущий первичный становится вторичным или происходит сбой первичного процесса), когда выполняется обратный вызов ReceiveReminderAsync() или происходит восстановление после сбоя после завершения функции ReceiveReminderAsync(), но до того, как ActorRuntime выполнит автоматическое сохранение состояния и запишет завершение На новом предмете это напоминание сработает немедленно.

Обратите внимание, что в этом сценарии, когда новый первичный сервер запускается и вызывает напоминание, обратный вызов напоминания на предыдущем первичном сервере все еще может выполняться (и в конечном итоге не сможет внести какие-либо изменения в локальное состояние, поскольку реплика стала вторичной)."*

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

Другие вопросы по тегам