Service Fabric позволяет создавать как микрослужбы без сохранения состояния, так и микрослужбы с отслеживанием состояния.
Как следует из названия, любое состояние, поддерживаемое экземпляром службы без сохранения состояния, будет потеряно, если узел выйдет из строя. Новый свежий экземпляр будет просто запущен в другом месте кластера.
Службы с отслеживанием состояния предлагают возможность сохранять состояние, не полагаясь на внешнее хранилище. Любые данные, хранящиеся в Reliable Collection будет автоматически реплицироваться на несколько узлов в кластере, что гарантирует устойчивость состояния к сбоям.
Распространенным шаблоном является использование службы без отслеживания состояния в качестве клиентского шлюза к приложению, а затем эта служба направляет трафик к секционированным службам с отслеживанием состояния приложения. Это скрывает работу по разрешению разделов от клиентов, позволяя им направлять все запросы к одной логической конечной точке.
Взгляните на пример WordCount для примера того, как это работает. Служба без сохранения состояния WordCount.WebService выступает в качестве внешнего интерфейса для приложения. Он просто разрешает раздел на основе входящего запроса, а затем отправляет его. Служба с отслеживанием состояния WordCount.Service (разделенная на основе первой буквы слова) немедленно помещает эти входящие запросы в ReliableQueue, а затем обрабатывает их в фоновом режиме, сохраняя результаты в ReliableDictionary.
Дополнительные сведения см. в обзоре надежных служб< /а>.
Примечание. На данный момент лучший способ предоставить конечные точки WebAPI клиентам — это самостоятельно разместить сервер OWIN в службе без сохранения состояния. Скоро также будут поддерживаться проекты ASP.NET 5.
person
Sean McKenna
schedule
01.05.2015