Сервис Fabri c Actor State: откуда читается состояние в постоянном режиме? - PullRequest
0 голосов
/ 05 апреля 2020

В постоянном режиме. Служба fabri c Состояние субъекта сохраняется на диске и реплицируется на другие узлы, что ясно из документации. У меня вопрос о последовательных запросах к состоянию актера, в течение всего времени жизни актера, каждый вызов читается с диска или он извлекается из памяти после первого обращения к диску?

1 Ответ

1 голос
/ 10 апреля 2020

Вацлав из команды SF дает ответ здесь .

Компонент, который хранит ваши данные в вашем сервисе, называется поставщиком штата. Поставщики состояний могут быть только в оперативной памяти или в оперативной памяти + локальный диск. Поставщик состояния по умолчанию, который вы получаете со службой субъекта, - это оперативная память + локальный диск, но он хранит только горячие данные в памяти, поэтому ваши требования к хранению не связаны с памятью. Сравните с поставщиком состояния Reliable Collections, который в настоящее время хранит все данные как в памяти, так и на локальном диске, хотя в будущем выпуске у него также будет возможность хранить только горячие данные в памяти и выгружать оставшиеся данные на локальный диск.

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

...