Если ландшафт вашего приложения состоит из контейнеров и вы не собираетесь его менять, вам, вероятно, следует придерживаться DDC.
Service Fabric (ASF) может предложить гораздо больше, чем поддержка контейнеров. На самом деле, раньше у него даже не было поддержки контейнеров.
Цель AFS — предоставить платформу для создания приложений на основе микрослужб с использованием служб без сохранения состояния, служб с отслеживанием состояния и субъектов.
Вещи, которые DDC не предоставляет:
Службы с отслеживанием состояния. Преимущество служб с отслеживанием состояния заключается в том, что данные живут там же, где и код, поэтому больше нет отдельных хранилищ данных, таких как NoSQL или реляционная база данных. Большим преимуществом является уменьшение задержки. Другими словами, если у вас есть внешний интерфейс, работающий в контейнере, который подключается к контейнеру, содержащему, например, сервер MySQL, вы можете заменить его, используя сочетание служб без сохранения состояния и служб с отслеживанием состояния.
Модель субъектов. Шаблон субъектов – это вычислительная модель для параллельных или распределенных систем, в которой большое количество этих субъектов может выполняться одновременно и независимо друг от друга.
В некоторых сценариях использование контейнеров в ASF является временным, чтобы поднимать и перемещать существующее программное обеспечение и объединять его с собственными моделями служб ASF. На более поздних этапах контейнеры могут быть заменены службами ASF.
официальный docs перечисляет некоторые сценарии запуска контейнеров в ASF:
Подъем и перенос IIS. Если у вас есть существующие приложения ASP.NET MVC, которые вы хотите продолжать использовать, поместите их в контейнер, а не переносите в ASP.NET Core. Эти приложения ASP.NET MVC зависят от информационных служб Интернета (IIS). Эти приложения можно упаковать в образы контейнеров из предварительно созданного образа IIS и развернуть их с помощью Service Fabric. Сведения о контейнерах Windows см. в разделе Образы контейнеров на Windows Server.
Объедините контейнеры и микросервисы Service Fabric: используйте существующий образ контейнера для части вашего приложения. Например, вы можете использовать контейнер NGINX для веб-интерфейса вашего приложения и службы с отслеживанием состояния для более интенсивных внутренних вычислений.
Уменьшение влияния служб "шумных соседей". Вы можете использовать возможности контейнеров по управлению ресурсами, чтобы ограничить ресурсы, используемые службой на узле. Если службы могут потреблять много ресурсов и влиять на производительность других (например, длительная операция, похожая на запрос), рассмотрите возможность помещения этих служб в контейнеры с управлением ресурсами.
Кстати, в ваших упомянутых вопросах и ответах тот факт, что это продукт Microsoft, выслушивается как возможный недостаток. Для некоторых это все еще может быть так, но Microsoft объявила, что будет с открытым исходным кодом ASF.
person
Peter Bons
schedule
04.04.2018