Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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 с 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.
См. также: