Сценарии приложений 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 службы с отслеживанием состояния снижают сложность приложений, одновременно обеспечивая высокую пропускную способность и низкие значения задержки.
Ниже приведен пример приложения, использующего службы без отслеживания состояния:
Ниже приведен пример приложения, использующего службы с отслеживанием состояния:
Следующие шаги
Просмотрите видео с примерами реальных клиентов.
Начните создавать службы с отслеживанием состояния и без него, используя модели программирования Reliable Services и Reliable Actors, включенные в Service Fabric.
Рекомендации по созданию микрослужб в Azure см. в Центре архитектуры Azure.
Лучшие методики проектирования приложений см. в статье Рекомендации для приложений и кластеров в Azure Service Fabric.
См. также: