Skip to content
This repository has been archived by the owner on May 4, 2021. It is now read-only.

Akka - это инструментарий для создания высококонкурентных, распределенных и устойчивых приложений, управляемых сообщениями для Java и Scala. Пример работы с фрэймворком akka

License

steklopod/akka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Akka - руководство

Akka - набор библиотек с открытым исходным кодом для разработки масштабируемых, устойчивых систем, охватывающих процессорные ядра и сети. Akka позволяет сосредоточиться на удовлетворении потребностей бизнеса вместо написания низкоуровневого кода для обеспечения надежного поведения, отказоустойчивости и высокой производительности.

Многие распространенные практики и принятые модели программирования не затрагивают важных проблем, присущих проектированию систем для современных компьютерных архитектур. Чтобы быть успешным, распределенные системы должны справляться с ситуацией, когда компоненты вылетают без ответа, сообщения теряются без следа на проводе, а латентность сети колеблется. Эти проблемы возникают регулярно в тщательно управляемых средах внутри центра обработки данных - тем более в виртуализированных архитектурах.

Содержание:

Руководство по началу работы:

  1. Почему современным системам нужна новая модель программирования
  2. Как модель актора отвечает потребностям современных распределенных систем
  3. Обзор библиотек и модулей Akka
  4. Быстрый старт с Акка
  5. Введение в пример

Общие понятия:

  1. Терминология, концепции
  2. Системы акторов
  3. Что такое актор?
  4. Наблюдение и мониторинг
  5. Ссылки, пути и адреса акторов
  6. Прозрачность местоположения
  7. Акка и модель памяти Java
  8. Надежность доставки сообщений
  9. Конфигурация

Акторы:

  1. Акторы
  2. Отказоустойчивость
  3. Диспетчеры
  4. Почтовые ящики
  5. Маршрутизация
  6. FSM
  7. Персистентность

Чтобы помочь вам справиться с этими реалиями, Akka обеспечивает:

  • Многопоточное поведение без использования низкоуровневых конструкций параллелизма, таких как атомики или блокировки, - избавляя вас от мысли даже о проблемах видимости памяти;

  • Прозрачная удаленная связь между системами и их компонентами - освобождает вас от написания и поддержки сложного сетевого кода.

  • Кластеризованная архитектура с высокой доступностью, которая является эластичной, масштабируется внутри или снаружи по требованию, что позволяет вам создавать действительно реактивную систему.

Использование Akka моделей акторов обеспечивает уровень абстракции, который облегчает запись правильных параллельных и распределенных систем. Модель актора охватывает полный набор библиотек Akka, предоставляя вам последовательный способ понимания и использования. Таким образом, Akka предлагает глубину интеграции, которую вы не можете достичь, выбирая библиотеки для решения индивидуальных проблем и пытаясь собрать их вместе.

Акторы - это являются единицей исполнения в Акка. Модель Actor представляет собой абстракцию, которая упрощает запись правильных параллельных и распределенных систем.

Изучая Akka и как использовать модель актора, вы получите доступ к обширному и глубокому набору инструментов, которые позволят решить сложные проблемы с распределенными / параллельными системами в единой модели программирования, где все будет сочетаться плотно и эффективно.

Преимущества использования модели Actor

Следующие характеристики Akka позволяют вам интуитивно решать сложные задачи параллелизма и масштабируемости:

  • Модель, управляемая событиями. Участники выполняют работу в ответ на сообщения. Общение между акторами асинхронно, позволяя Акторам отправлять сообщения и продолжать свою работу без блокировки, чтобы ждать ответа;

  • Сильные принципы изоляции. В отличие от обычных объектов в Scala, у актора нет общедоступного API с точки зрения методов, которые вы можете вызвать. Вместо этого его общедоступный API определяется через сообщения, которые обрабатывает актор. Это предотвращает любое разделение состояния между акторами; единственный способ наблюдать за состоянием другого актора - это послать ему сообщение с просьбой об этом;

  • Прозрачность местоположения. Система создает акторы из фабрики и возвращает ссылки на экземпляры. Поскольку местоположение не имеет значения, экземпляры акторов могут запускаться, останавливаться, перемещаться и перезапускаться, чтобы масштабироваться вверх и вниз, а также восстанавливаться после неожиданных сбоев;

  • Легкость. Каждый экземпляр потребляет всего несколько сотен байтов, что реально позволяет миллионам одновременно действующих акторов существовать в одном приложении.

Если этот проект окажется полезным тебе - нажми на кнопочку в правом верхнем углу.

About

Akka - это инструментарий для создания высококонкурентных, распределенных и устойчивых приложений, управляемых сообщениями для Java и Scala. Пример работы с фрэймворком akka

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages