Учебный центр IBS
JVA-037 Akka для Java
СертификатОнлайн
Описание курса
Akka представляет собой набор инструментов для построения параллельных и распределенных приложений на платформе JVM. В этом тренинге мы научимся создавать масштабируемые распределенные приложения с Akka Java API.
Модуль 1
- Эволюция модели программирования
- Масштабирование
- Манифест Reactive
Модуль 2
- Конкурентность и параллелизм
- Асинхронный и синхронный
- Блокирующий и неблокирующий
- Мертвая блокировка (deadlock), исчерпание (starvation), живая блокировка (live-lock)
- Состояние гонки
- Императивный и реактивный
Модуль 3
- Единая ответственность
- Без разделения ресурсов
- Асинхронная передача сообщений
- Слабая связанность
- Параллели с микросервисной архитектурой
- Пример архитектуры - Web Crawler
- Практическое задание
Модуль 4
- Модель акторов
- Системы акторов
- Паттерн ошибок ядра (Error Kernel Pattern)
- Контроль
- Пример (Drink Bar)
- Практика
Модуль 5
- Реализация акторов
- Нетипизированные акторы
- Пример оригинального нетипизированного актора
- Перенос оригинального нетипизированного актора в абстрактные акторы
- Запуск акторов
- Создание системы акторов
- Запуск актора требует создания реквизита (props)
- Именование акторов
- Пример: актор и его реквизит
- Ссылки на актора
- Ссылки на актора и жизненный цикл актора
- Ссылка на актора и путь актора
- Выбор актора
- Почтовый ящик для недоставленных писем
- Остановка акторов
- Стратегия супервайзера
- Дежурство у постели умирающего (Death Watch)
- Жизненный цикл актора
- Практика (Web Crawler с использованием Akka)</li> <p><p>
Модуль 6
- Разговоры с акторами
- Практика (паттерн Ask, завершающий этап)
- Web Crawler с преднамеченностями
- Практика (использование преднамеченностей для оптимизации Web Crawler)
Модуль 7
- Диспетчеры
- Почтовые ящики
- Маршрутизация
- Специально обрабатываемые сообщения
- Практика (балансировка нагрузки и масштабирование для Web Crawler)
Отзывы о курсе
Еще курсы
Бэкенд разработчик261Фулстек разработчик156Фронтенд разработчик139Веб-разработчик120Разработчик игр90Разработчик мобильных приложений67Десктоп разработчик35Архитектор программного обеспечения30Инженер встраиваемых систем25Разработчик баз данных21Программист 1С21Системный инженер8HTML-верстальщик6Архитектор баз данных3
Все курсы в специализации