Орлеан: правильный способ разделения типов зерна в пределах одного кластера - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть несколько зерновых типов в моем Орлеан проекте. Допустим, зерна являются A, B, C, D, E . У меня есть один Silo исполняемый файл, который я запускаю на 2 компьютерах (кластеризация через Ad oNet). Итак, они общаются и проверяют связь друг с другом, и я могу потреблять зерна через клиента.

Теперь я хочу запускать исполняемые файлы Silo на нескольких машинах в сети таким образом, чтобы зерна типов A, B, C будут размещены на машине 1 , в то время как D и E размещены на машине 2 . В идеале, в пределах одного исполняемого файла (проекта) с использованием runtime-конфигурации.

Я пытался, как написано в статье ниже, просто пропустить типы реализации, ссылающиеся на зерна D и E , оставляя только интерфейсы, но всегда выдает ошибку Silo с ошибкой

Cannot find an implementation class for grain interface: ... Make sure the grain assembly was correctly deployed and loaded in the silo.

Также обратите внимание, что зерно A потребляет зерна D и E , Итак, при активации зерна A , всегда возникает ошибка силоса.

Я читал эту статью сверху вниз и назад, но все еще не могу понять, как отличить guish какие типы зерна следует использовать для конкретного экземпляра бункера.

https://dotnet.github.io/orleans/Documentation/clusters_and_clients/heterogeneous_silos.html

...