При написании кода, самая сложная часть часто составляет первые несколько предложений. Существует ощущение «пустого холста», когда вы начинаете строить систему Akka. Вы можете задаться вопросом: какой должен быть первый актор? Где он должен жить? Что делать? Передовые методы могут помочь нам в этих первых шагах. В оставшейся части этого руководства мы рассмотрим основную логику простого приложения Akka, чтобы познакомить вас с акторами и показать вам, как формулировать решения с ними. В этом примере демонстрируются общие шаблоны, которые помогут вам запустить ваши проекты Akka.
Вы должны были следовать инструкциям в Быстрый старт с Акка
для загрузки и запуска примера Hello World
. Вы будете использовать это как начальный проект и добавите функциональность,
описанную в этом уроке.
В этом уроке мы будем использовать Akka для создания части системы Internet of Things (IoT)
, которая сообщает данные с
сенсорных устройств, установленных в домах клиентов. В этом примере основное внимание уделяется показаниям температуры.
Целевой вариант использования позволяет клиентам регистрироваться и просматривать последние данные о температуре в разных
районах своих домов. Вы можете себе представить, что такие датчики могут также собирать относительную влажность или другие
интересные данные, и приложение, скорее всего, поддержит чтение и изменение конфигурации устройства, возможно, даже
предупредит домашних владельцев, когда состояние датчика выходит за пределы определенного диапазона.
В реальной системе приложение будет доступно пользователям через мобильное приложение или браузер. Это руководство концентрируется только на основной логике для хранения температур, которые будут вызываться по сетевому протоколу, например HTTP. Он также включает в себя письменные тесты, которые помогут вам стать удобными и опытными с участниками тестирования.
Учебное приложение состоит из двух основных компонентов:
-
Сбор данных устройства - поддерживает локальное представление удаленных устройств. Несколько сенсорных устройств для дома организованы в одну группу устройств;
-
Панель пользователя (user dashboard) - периодически собирает данные с устройств для входа в систему пользователя и представляет результаты в виде отчета.
Следующая диаграмма иллюстрирует пример архитектуры приложения. Поскольку нас интересует состояние каждого сенсорного устройства, мы будем моделировать устройства как акторы. Запустившееся приложение будет создавать как можно больше экземпляров устройств и групп устройств.
Что вы узнаете в этом уроке:
-
Иерархия акторов и то, как это влияет на поведение актора;
-
Как выбрать правильную детализацию для участников;
-
Как определить протоколы как сообщения;
-
Типичные диалоговые стили.
Если этот проект окажется полезным тебе - нажми на кнопочку ★
в правом верхнем углу.