Сценарии приложений Service Fabric

Azure Service Fabric — это надежная и гибкая платформа, позволяющая создавать и запускать множество типов бизнес-приложений и служб. Эти приложения и микрослужбы могут регистрировать или не регистрировать состояния, при этом для них выполняется балансировка ресурсов на используемых виртуальных машинах для обеспечения максимальной эффективности.

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

Рекомендации по проектированию для создания приложений см. в статьях Архитектура микрослужб в Azure Service Fabric и Рекомендации по проектированию приложений с помощью Service Fabric.

Рассмотрите возможность использования платформы Service Fabric для следующих типов приложений:

  • Сбор, обработка данных и Интернет вещей: Service Fabric поддерживает большие объемы данных и обеспечивает низкую задержку благодаря своим службам с отслеживанием состояния. Эта служба может обрабатывать данные на миллионах устройств, для которых предусмотрено одновременное размещение данных для устройства и расчета.

    Клиенты, которые создали службы Интернета вещей с помощью Service Fabric включают PCL Construction, Citrix, ASOS, Оман Data Park, Kohler и Dover Fueling Systems.

  • Интерактивные приложения для игр и интерактивные приложения на основе сеансов. Использовать Service Fabric полезно, если ваши приложения, такие как онлайн-игры или приложения для обмена мгновенными сообщениями, требуют низкой задержки при операциях чтения и записи. Service Fabric позволяет создавать такие интерактивные приложения с отслеживанием состояния без необходимости создавать отдельное хранилище или кэш. Ознакомьтесь с решениями для игр Azure для разработки рекомендаций по использованию Service Fabric в игровых службах.

    К клиентам, которые уже используют службы игр как встроенные компоненты, можно отнести Next Games. А к клиентам, которые уже используют интерактивные сеансы, — Honeywell with Hololens.

  • Анализ данных и обработка рабочих процессов: приложения, которые должны надежно обрабатывать события или потоки данных, используют преимущества оптимизированных операций чтения и записи в Service Fabric. Service Fabric также поддерживает конвейеры обработки приложений, которые предоставляют надежные результаты и позволяют без потерь передавать такие результаты на следующий этап обработки. К ним относятся транзакционные и финансовые системы, где важно гарантировать согласованность и надлежащее вычисление данных.

    К клиентам, которые уже используют службы бизнес-процессов, можно отнести Zeiss Group и PCL Construction.

  • Вычисления данных. Service Fabric позволяет создавать приложения с отслеживанием состояния, которые выполняют ресурсоемкие вычисления данных. С помощью Service Fabric можно совместно размещать вычислительные ресурсы (данные расчета) и данные в приложениях.

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

    Например, рассмотрите возможность использования приложения, выполняющего отбор рекомендаций для клиентов практически в реальном времени, цикл обмена данными в котором составляет менее 100 миллисекунд. Характеристики задержки и производительности служб Service Fabric обеспечивают пользователю более высокую скорость работы по сравнению со стандартной моделью реализации, в рамках которой требуемые данные доставляются из удаленного хранилища. Система быстрее реагирует на запросы, поскольку расчет выбора рекомендации осуществляется совместно с данными и правилами.

    К клиентам, которые уже используют службы расчетов как встроенные компоненты, можно отнести ASOS и CCC.

  • Высокодоступные службы. Service Fabric обеспечивает быструю отработку отказа, создавая несколько вторичных реплик службы. В случае выхода из строя узла, процесса или отдельной службы по причине аппаратного или иного рода сбоя одна из вторичных реплик становится первичной при минимальном интервале прекращении обслуживания.

  • Масштабируемые службы. Отдельные службы можно секционировать, чтобы их можно было развернуть в кластере. Кроме того, вы можете создавать и удалять отдельные службы в режиме реального времени. Вы можете горизонтально увеличить масштаб служб из нескольких экземпляров на нескольких узлах до тысяч экземпляров на многих узлах, а затем снова масштабировать их при необходимости. Service Fabric можно использовать для создания этих служб и полноценного управления их жизненным циклом.

Примеры проектов приложений

Примеры внедрения, демонстрирующие использование Service Fabric для проектирования приложений, опубликованы на сайтах Отзывы клиентов и Микрослужбы в Azure.

Разработка приложений, состоящих из микрослужб с отслеживанием и без отслеживания состояния

Примером службы без отслеживания состояния является создание приложений с рабочими ролями в Облачных службах Azure. И наоборот, микрослужбы с отслеживанием состояния сохраняют утвержденное состояние за пределами запроса и ответа на него. Эта функция обеспечивает высокую доступность и согласованность состояния благодаря простым API, которые обеспечивают осуществление транзакций, поддерживаемых службой репликации.

Службы с отслеживанием состояния в Service Fabric обеспечивают высокую доступность для всех типов приложений, а не только для баз данных и других хранилищ данных. Это логично. Разработчики приложений уже перешли от использования чисто реляционных баз данных для обеспечения высокой доступности к базам данных NoSQL. Теперь приложения могут организовать управление своим текущим состоянием и "горячими" данными внутри себя самих, что повышает производительность, не снижая надежности, целостности или доступности.

При создании приложений, состоящих из микрослужб, вы обычно используете сочетание веб-приложений без отслеживания состояния (таких как ASP.NET и Node.js), обращающихся к бизнес-службам среднего уровня с отслеживанием и без отслеживания состояния. Все приложения и службы развертываются в одном кластере Service Fabric с помощью команд развертывания Service Fabric. Каждая из этих служб не зависит от масштаба, надежности и использования ресурсов, что повышает скорость и гибкость при разработке и управлении жизненным циклом.

Микрослужбы с отслеживанием состояния упрощают разработку приложений, поскольку устраняют необходимость в дополнительных очередях и кэше, которые традиционно требовались для обеспечения доступности соответствия требованиям по задержке для приложений, работающих только без отслеживания состояний. Так как службы с отслеживанием состояния обладают высокой доступностью и имеют низкую задержку, в приложении будет меньше данных, которыми нужно управлять.

На диаграммах ниже представлены различия между проектированием приложения без отслеживания состояния и с отслеживанием состояния. Благодаря преимуществам моделей программирования Reliable Services и Reliable Actors службы с отслеживанием состояния снижают сложность приложений, одновременно обеспечивая высокую пропускную способность и низкие значения задержки.

Ниже приведен пример приложения, использующего службы без отслеживания состояния: Application that uses stateless services

Ниже приведен пример приложения, использующего службы с отслеживанием состояния: Application that uses stateful services

Следующие шаги