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

Azure Service Fabric предлагает надежную и гибкую платформу, в которой можно создавать и запускать различные типы бизнес-приложений и служб.Azure Service Fabric offers a reliable and flexible platform where you can write and run many types of business applications and services. Эти приложения и микрослужбы могут быть без отслеживания состояния или с отслеживанием состояния, и они распределяются между виртуальными машинами для повышения эффективности.These applications and microservices can be stateless or stateful, and they're resource-balanced across virtual machines to maximize efficiency.

Уникальная архитектура структуры служб позволяет выполнять анализ данных в режиме, близком к режиму реального времени, вычисления в памяти, параллельные транзакции и обработку событий для ваших приложений.The unique architecture of Service Fabric enables you to perform near real-time data analysis, in-memory computation, parallel transactions, and event processing in your applications. Вы можете легко масштабировать приложения в зависимости от требований к изменяющимся ресурсам.You can easily scale your applications in or out depending on your changing resource requirements.

Рекомендации по проектированию для создания приложений см. в статье Архитектура микрослужб в Azure Service Fabric и рекомендации по проектированию приложений с помощью Service Fabric.For design guidance on building applications, read Microservices architecture on Azure Service Fabric and Best practices for application design using Service Fabric.

Рассмотрите возможность использования платформы Service Fabric для следующих типов приложений:Consider using the Service Fabric platform for the following types of applications:

  • Сбор данных, обработка и IOT: Service Fabric обрабатывает большой масштаб и имеет низкую задержку через службы с отслеживанием состояния.Data gathering, processing, and IoT: Service Fabric handles large scale and has low latency through its stateful services. Он может помочь обрабатывать данные на миллионах устройств, где данные для устройства и вычисления размещаются одновременно.It can help process data on millions of devices where the data for the device and the computation are colocated.

    Клиенты, которые создали службы IoT с помощью Service Fabric включают в себя Honeywell, конструкцию PCL, Крестрон, BMW, Schneider Электрическийи системы сеток.Customers who have built IoT services by using Service Fabric include Honeywell, PCL Construction, Crestron, BMW, Schneider Electric, and Mesh Systems.

  • Игры и интерактивные приложения на основе сеансов. Service Fabric удобно использовать, если приложению требуются операции чтения и записи с низкой задержкой, например, в Интернет-играх или мгновенных сообщениях.Gaming and session-based interactive applications: Service Fabric is useful if your application requires low-latency reads and writes, such as in online gaming or instant messaging. Service Fabric позволяет создавать интерактивные приложения с отслеживанием состояния без необходимости создания отдельного хранилища или кэша.Service Fabric enables you to build these interactive, stateful applications without having to create a separate store or cache. Рекомендации по проектированию для использования Service Fabric в игровых службахсм. в статье решения для игр Azure .Visit Azure gaming solutions for design guidance on using Service Fabric in gaming services.

    Клиенты, у которых есть встроенные игровые службы, включают следующие игры и дигаморе.Customers who have built gaming services include Next Games and Digamore. Клиенты, у которых есть собранные интерактивные сеансы, включают Honeywell с Hololens.Customers who have built interactive sessions include Honeywell with Hololens.

  • Анализ данных и обработка рабочих процессов. приложения, которые должны надежно обрабатывать события или потоки данных, имеют преимущества оптимизированных операций чтения и записи в Service Fabric.Data analytics and workflow processing: Applications that must reliably process events or streams of data benefit from the optimized reads and writes in Service Fabric. Service Fabric также поддерживает конвейеры обработки приложений, где результаты должны быть надежными и передаваться на следующий этап обработки без потерь.Service Fabric also supports application processing pipelines, where results must be reliable and passed on to the next processing stage without any loss. Эти конвейеры включают в себя транзакционные и финансовые системы, в которых необходимы гарантии согласованности данных и вычислений.These pipelines include transactional and financial systems, where data consistency and computation guarantees are essential.

    Клиенты, у которых есть встроенные службы бизнес-процессов, включают группу Зеисс, бизнес-решения кворумаи компании общие.Customers who have built business workflow services include Zeiss Group, Quorum Business Solutions, and Société General.

  • Вычисления данных. Service Fabric позволяет создавать приложения с отслеживанием состояния, которые выполняют ресурсоемкие вычисления данных.Computation on data: Service Fabric enables you to build stateful applications that do intensive data computation. Service Fabric позволяет соположению обработки (вычислений) и данных в приложениях.Service Fabric allows the colocation of processing (computation) and data in applications.

    Обычно, когда приложению требуется доступ к данным, задержка сети, связанная с внешним кэшем данных или уровнем хранилища, ограничивает время вычисления.Normally, when your application requires access to data, network latency associated with an external data cache or storage tier limits the computation time. Службы с отслеживанием состояния Service Fabric устраняют эту задержку, обеспечивая более оптимизированные операции чтения и записи.Stateful Service Fabric services eliminate that latency, enabling more optimized reads and writes.

    Например, рассмотрим приложение, которое выполняет выбор рекомендаций практически в реальном времени для клиентов, с требованием кругового пути менее 100 миллисекунд.For example, consider an application that performs near real-time recommendation selections for customers, with a round-trip time requirement of less than 100 milliseconds. Характеристики задержки и производительности служб Service Fabric обеспечивают взаимодействие с пользователем по сравнению со стандартной моделью реализации, необходимой для получения необходимых данных из удаленного хранилища.The latency and performance characteristics of Service Fabric services provide a responsive experience to the user, compared with the standard implementation model of having to fetch the necessary data from remote storage. Система более реагирует на запросы, поскольку вычисление выбора рекомендации осуществляется совместно с данными и правилами.The system is more responsive because the computation of recommendation selection is colocated with the data and rules.

    Клиенты, у которых есть построенные службы вычислений, включают Solidsoft Reply и инфосуппорт.Customers who have built computation services include Solidsoft Reply and Infosupport.

  • Высокодоступные службы: Service Fabric обеспечивает быструю отработку отказа, создавая несколько реплик вторичной службы.Highly available services: Service Fabric provides fast failover by creating multiple secondary service replicas. В случае выхода из строя узла, процесса или отдельной службы по причине аппаратного или иного рода сбоя одна из вторичных реплик становится первичной при минимальном интервале прекращении обслуживания.If a node, process, or individual service goes down due to hardware or other failure, one of the secondary replicas is promoted to a primary replica with minimal loss of service.

  • Масштабируемые службы. Отдельные службы можно секционировать, чтобы их можно было развернуть в кластере.Scalable services: Individual services can be partitioned, allowing for state to be scaled out across the cluster. Отдельные службы также можно создавать и удалять на лету.Individual services can also be created and removed on the fly. Вы можете масштабировать службы из нескольких экземпляров на нескольких узлах до тысяч экземпляров на многих узлах, а затем снова масштабировать их при необходимости.You can scale out services from a few instances on a few nodes to thousands of instances on many nodes, and then scale them in again as needed. Service Fabric можно использовать для создания этих служб и управления их полным жизненным циклом.You can use Service Fabric to build these services and manage their complete life cycles.

Примеры проектов приложенийApplication design case studies

Примеры внедрения, демонстрирующие использование Service Fabric для проектирования приложений, публикуются в пользовательских материалах и микрослужбах на сайтах Azure.Case studies that show how Service Fabric is used to design applications are published on the Customer stories and Microservices in Azure sites.

Проектирование приложений, состоящих из микрослужб с отслеживанием и без отслеживания состоянияDesigning applications composed of stateless and stateful microservices

Создание приложений с помощью рабочих ролей облачных служб Azure — это пример службы без отслеживания состояния.Building applications with Azure Cloud Services worker roles is an example of a stateless service. И наоборот, микрослужбы с отслеживанием состояния сохраняют утвержденное состояние за пределами запроса и ответа на него.In contrast, stateful microservices maintain their authoritative state beyond the request and its response. Эта функция обеспечивает высокую доступность и согласованность состояния с помощью простых интерфейсов API, обеспечивающих транзакционные гарантии, обеспечиваемые репликацией.This functionality provides high availability and consistency of the state through simple APIs that provide transactional guarantees backed by replication.

Службы с отслеживанием состояния в Service Fabric обеспечивают высокий уровень доступности для всех типов приложений, а не только баз данных и других хранилищ данных.Stateful services in Service Fabric bring high availability to all types of applications, not just databases and other data stores. Это логично.This is a natural progression. Разработчики приложений уже перешли от использования чисто реляционных баз данных для обеспечения высокой доступности к базам данных NoSQL.Applications have already moved from using purely relational databases for high availability to NoSQL databases. Теперь приложения могут организовать управление своим текущим состоянием и "горячими" данными внутри себя самих, что повышает производительность, не снижая надежности, целостности или доступности.Now the applications themselves can have their "hot" state and data managed within them for additional performance gains without sacrificing reliability, consistency, or availability.

При создании приложений, состоящих из микрослужб, обычно существует сочетание веб-приложений без отслеживания состояния (таких как ASP.NET и Node.js), обращающихся к службам среднего уровня с отслеживанием и без отслеживания состояния.When you're building applications that consist of microservices, you typically have a combination of stateless web apps (like ASP.NET and Node.js) calling onto stateless and stateful business middle-tier services. Приложения и службы развертываются в одном кластере Service Fabric с помощью команд Service Fabricного развертывания.The apps and services are all deployed in the same Service Fabric cluster through the Service Fabric deployment commands. Каждая из этих служб не зависит от масштаба, надежности и использования ресурсов.Each of these services is independent with regard to scale, reliability, and resource usage. Эта независимость повышает гибкость и гибкость при разработке и управлении жизненным циклом.This independence improves agility and flexibility in development and life-cycle management.

Микрослужбы с отслеживанием состояния упрощают разработку приложений, поскольку устраняют необходимость в дополнительных очередях и кэше, которые традиционно требовались для обеспечения доступности соответствия требованиям по задержке для приложений, работающих только без отслеживания состояний.Stateful microservices simplify application designs because they remove the need for the additional queues and caches that have traditionally been required to address the availability and latency requirements of purely stateless applications. Так как службы с отслеживанием состояния обладают высокой доступностью и имеют низкую задержку, в приложении меньше сведений для управления.Because stateful services have high availability and low latency, there are fewer details to manage in your application.

На следующих диаграммах показаны различия между проектированием приложения, которое не имеет состояния, и одним из которых является отслеживание состояния.The following diagrams illustrate the differences between designing an application that's stateless and one that's stateful. Используя преимущества моделей программирования Reliable Services и Reliable Actors , службы с отслеживанием состояния снижают сложность приложения при достижении высокой пропускной способности и низкой задержки.By taking advantage of the Reliable Services and Reliable Actors programming models, stateful services reduce application complexity while achieving high throughput and low latency.

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

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

Дальнейшие действияNext steps