Akka
- набор библиотек с открытым исходным кодом для разработки масштабируемых, устойчивых систем,
охватывающих процессорные ядра и сети. Akka
позволяет сосредоточиться на удовлетворении потребностей бизнеса вместо
написания низкоуровневого кода для обеспечения надежного поведения, отказоустойчивости и высокой производительности.
Многие распространенные практики и принятые модели программирования не затрагивают важных проблем, присущих проектированию систем для современных компьютерных архитектур. Чтобы быть успешным, распределенные системы должны справляться с ситуацией, когда компоненты вылетают без ответа, сообщения теряются без следа на проводе, а латентность сети колеблется. Эти проблемы возникают регулярно в тщательно управляемых средах внутри центра обработки данных - тем более в виртуализированных архитектурах.
- Почему современным системам нужна новая модель программирования
- Как модель актора отвечает потребностям современных распределенных систем
- Обзор библиотек и модулей Akka
- Быстрый старт с Акка
- Введение в пример
- Терминология, концепции
- Системы акторов
- Что такое актор?
- Наблюдение и мониторинг
- Ссылки, пути и адреса акторов
- Прозрачность местоположения
- Акка и модель памяти Java
- Надежность доставки сообщений
- Конфигурация
Чтобы помочь вам справиться с этими реалиями, Akka
обеспечивает:
-
Многопоточное поведение без использования низкоуровневых конструкций параллелизма, таких как атомики или блокировки, - избавляя вас от мысли даже о проблемах видимости памяти;
-
Прозрачная удаленная связь между системами и их компонентами - освобождает вас от написания и поддержки сложного сетевого кода.
-
Кластеризованная архитектура с высокой доступностью, которая является эластичной, масштабируется внутри или снаружи по требованию, что позволяет вам создавать действительно реактивную систему.
Использование Akka
моделей акторов обеспечивает уровень абстракции, который облегчает запись правильных параллельных и
распределенных систем. Модель актора охватывает полный набор библиотек Akka
, предоставляя вам последовательный способ
понимания и использования. Таким образом, Akka
предлагает глубину интеграции, которую вы не можете достичь, выбирая
библиотеки для решения индивидуальных проблем и пытаясь собрать их вместе.
Акторы - это являются единицей исполнения в Акка
. Модель Actor
представляет собой абстракцию, которая упрощает
запись правильных параллельных и распределенных систем.
Изучая Akka
и как использовать модель актора, вы получите доступ к обширному и глубокому набору инструментов, которые
позволят решить сложные проблемы с распределенными / параллельными системами в единой модели программирования, где все
будет сочетаться плотно и эффективно.
Следующие характеристики Akka
позволяют вам интуитивно решать сложные задачи параллелизма и масштабируемости:
-
Модель, управляемая событиями. Участники выполняют работу в ответ на сообщения. Общение между акторами асинхронно, позволяя Акторам отправлять сообщения и продолжать свою работу без блокировки, чтобы ждать ответа;
-
Сильные принципы изоляции. В отличие от обычных объектов в Scala, у актора нет общедоступного API с точки зрения методов, которые вы можете вызвать. Вместо этого его общедоступный API определяется через сообщения, которые обрабатывает актор. Это предотвращает любое разделение состояния между акторами; единственный способ наблюдать за состоянием другого актора - это послать ему сообщение с просьбой об этом;
-
Прозрачность местоположения. Система создает акторы из фабрики и возвращает ссылки на экземпляры. Поскольку местоположение не имеет значения, экземпляры акторов могут запускаться, останавливаться, перемещаться и перезапускаться, чтобы масштабироваться вверх и вниз, а также восстанавливаться после неожиданных сбоев;
-
Легкость. Каждый экземпляр потребляет всего несколько сотен байтов, что реально позволяет миллионам одновременно действующих акторов существовать в одном приложении.
Если этот проект окажется полезным тебе - нажми на кнопочку ★
в правом верхнем углу.