Параметры конфигурации и управления ресурсами для служб без учета состояния Azure Service Fabric? - PullRequest
1 голос
/ 14 апреля 2019

Я новичок в использовании Service Fabric и пытаюсь охватить некоторые варианты дизайна.У меня есть библиотека классов, которая выполняет разные задачи.Некоторые задачи являются ресурсоемкими и долгосрочными (обработка сообщений из очередей), а другие недолговечны и должны реагировать (обработка запросов на работу от пользователей).Кэшированные данные имеют значительный объем, поэтому общие процессы имеют смысл, а приложение не имеет состояния.Я хочу убедиться, что долгосрочные задачи не истощают другие задачи ресурсов, но также и высокий уровень использования.

  1. Можно ли сделать один проект службы без сохранения состояния вмое решение (ссылающееся на мою библиотеку классов) и развернуть несколько именованных экземпляров StatelessService, совместно использующих один и тот же процесс, используя конфигурацию для дифференциации задач, выполняемых этими экземплярами?С несколькими типами ServiceType или без них (хотя они кажутся по одному для каждого проекта, поэтому я предполагаю, что это должен быть один ServiceType)?

  2. Если да, можно ли применять различные правила управления ресурсами кэти экземпляры службы, поэтому некоторые ресурсы могут быть зарезервированы для пользовательских задач?Пока у меня складывается впечатление, что это невозможно, когда службы совместно используют процесс.

1 Ответ

2 голосов
/ 16 апреля 2019
  1. Модель общего процесса по умолчанию определяет это:

В предыдущем разделе описана модель хостинга по умолчанию, предоставляемая Service Fabric, называемая Shared.Модель процесса.В этой модели для данного приложения активируется только одна копия данного ServicePackage на узле (который запускает все содержащиеся в нем CodePackages).Все реплики всех сервисов данного ServiceType помещаются в CodePackage, который регистрирует этот ServiceType.Другими словами, все реплики всех служб в узле данного типа ServiceType совместно используют один и тот же процесс.

Вы можете указать несколько типов служб и несколько пакетов кода.

ServiceTypes объявляет, какие типы служб поддерживаются CodePackages в этом манифесте.Когда создается экземпляр службы для одного из этих типов служб, все пакеты кода, объявленные в этом манифесте, активируются путем запуска их точек входа.Ожидается, что результирующие процессы зарегистрируют поддерживаемые типы сервисов во время выполнения.Типы служб объявляются на уровне манифеста, а не на уровне пакета кода.Поэтому при наличии нескольких пакетов кода все они активируются всякий раз, когда система ищет какой-либо из объявленных типов служб.

Ресурс Управление настраивается в манифесте службы, а не на уровне экземпляра.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...