Jump to content

Нравится (инструментарий)

Как
Оригинальный автор(ы) Йонас Бонер
Разработчик(и) изгиб света
Первоначальный выпуск июль 2009 г. ( 2009-07 )
Стабильная версия
2.9.1 / 19 декабря 2023 г .; 8 месяцев назад ( 19.12.2023 ) [ 1 ]
Репозиторий
Написано в Скала
Операционная система Кросс-платформенный
Платформа Виртуальная машина Java
Лицензия несколько
Веб-сайт как .что

Akka — это набор инструментов и среда выполнения с доступным исходным кодом , упрощающий создание параллельных и распределенных приложений на JVM . Akka поддерживает несколько моделей программирования для параллелизма, но делает упор на параллелизм на основе актеров , вдохновленный Erlang . [ 2 ]

Языковые привязки существуют как для Java , так и для Scala . Akka написан на Scala, и, начиная с Scala 2.10, актеры стандартной библиотеки Scala устарели в пользу Akka. [ 3 ]

Реализация актера, написанная Филиппом Халлером, была выпущена в июле 2006 года как часть Scala 2.1.7. [ 4 ] К 2008 году Scala привлекла внимание к использованию в сложных серверных приложениях, но параллелизм по-прежнему обычно достигался за счет создания потоков, которые совместно использовали память и синхронизировались при необходимости с помощью блокировок. Осознавая трудности этого подхода и вдохновленный поддержкой библиотеки языка программирования Erlang для написания высококонкурентных, управляемых событиями приложений, шведский программист Йонас Бонер создал Akka, чтобы предоставить аналогичные возможности Scala и Java. Бонер начал работать над Akka в начале 2009 года. [ 5 ] и изложил свое видение этого проекта в июне того же года. [ 6 ] Первым публичным релизом стала As 0.5. [ 7 ] объявлено в январе 2010 года. [ 8 ] Akka теперь является частью платформы Lightbend вместе с платформой Play и языком программирования Scala .

В сентябре 2022 года Lightbend объявила, что Akka изменит свою лицензию с лицензии на бесплатное программное обеспечение Apache License 2.0 на проприетарную лицензию с доступным исходным кодом , известную как Business Source License (BSL). Любой новый код под BSL станет доступен по лицензии Apache через три года. [ 9 ]

Отличительные особенности

[ редактировать ]

Ключевые моменты, отличающие приложения на основе акторов Akka:

  • Параллелизм основан на сообщениях и является асинхронным: обычно изменяемые данные не передаются совместно и примитивы синхронизации не используются; Akka реализует модель актера .
  • Способ взаимодействия субъектов одинаков, независимо от того, находятся ли они на одном и том же хосте или на разных хостах, взаимодействуют напрямую или через средства маршрутизации, работают в нескольких потоках или во многих потоках и т. д. Такие детали могут быть изменены во время развертывания с помощью механизма конфигурации, что позволяет программа, которую можно масштабировать (чтобы использовать более мощные серверы) и расширять (чтобы использовать больше серверов) без изменений.
  • Актеры расположены иерархически относительно сбоев программы, которые рассматриваются как события, которые должен обрабатывать супервизор актера (независимо от того, какой актер отправил сообщение, вызвавшее сбой). В отличие от Erlang, Akka обеспечивает родительский контроль, что означает, что каждый актер создается и контролируется его родительским актером.

Akka имеет модульную структуру, в которой основной модуль предоставляет актеров. Доступны другие модули для добавления таких функций, как сетевое распределение субъектов, поддержка кластеров , источник команд и событий, интеграция с различными сторонними системами (например, Apache Camel , ZeroMQ ) и даже поддержка других моделей параллелизма, таких как Futures и Agents.

Структура проекта

[ редактировать ]

Виктор Кланг стал техническим руководителем проекта Akka в сентябре 2011 года. Когда в декабре 2012 года Виктор стал техническим директором Lightbend, Роланд Кун стал техническим руководителем Akka. Основная часть разработки выполняется основной командой Lightbend. [ 10 ] поддерживается активным сообществом. [ 11 ] В настоящее время акцент делается на расширении поддержки кластеров .

Связь с другими библиотеками

[ редактировать ]

Появились другие фреймворки и наборы инструментов для формирования экосистемы вокруг Akka:

зарегистрировано более 250 публичных проектов На GitHub , использующих Akka. [ 23 ]

Публикации о Лайке

[ редактировать ]

Об Акке есть несколько книг:

  • Нравится Основы [ 24 ]
  • Нравятся примеры кода
  • Как параллелизм [ 25 ]
  • Как в действии, второе издание [ 26 ]
  • Как в действии [ 27 ]
  • Эффективен как [ 28 ]
  • Компонуемые фьючерсы с Akka 2.0 с примерами кода на Java, Scala и Akka [ 29 ]

А также особенности:

  • «Актеры Скалы» П. Халлера. [ 30 ]
  • «Скала в действии» Н. Райчаудхури. [ 31 ]
  • Д. Уэмплер «Функциональное программирование для Java-разработчиков». [ 32 ]
  • «Кулинарная книга Scala» А. Александра. [ 33 ]
  • «Параллельное программирование на JVM» В. Субраманиама. [ 34 ]
  • «Реактивные веб-приложения» М. Бернхардта. [ 35 ]

Помимо множества веб-статей, описывающих коммерческое использование Akka, [ 36 ] [ 37 ] об этом также есть обзорные статьи. [ 38 ] [ 39 ]

  1. ^ Как команда. «Выпущено 23.10» . Получено 27 декабря.
  2. ^ Команда Акка. «Введение в актеры Scala» . Проверено 17 сентября 2018 г.
  3. ^ Йованович, Вожин. «Руководство по миграции актеров Scala» . Архивировано из оригинала 5 декабря 2013 года . Проверено 13 марта 2013 г.
  4. ^ «История версий Scala — более ранние версии» . scala-lang.org. 16 февраля 2009 г. Архивировано из оригинала 4 января 2013 г.
  5. ^ Йонас Бонер (16 февраля 2009 г.). «инициализация настройки проекта» . github.com.
  6. ^ Бонер, Йонас. «Акка Актер Кернел» . [электронная почта защищена] . Архивировано из оригинала 4 марта 2016 г. Проверено 13 июля 2017 г.
  7. ^ Йонас Бонер (12 июля 2009 г.). "v0.5" . github.com.
  8. ^ Йонас Бонер (4 января 2010 г.). «Представляем Akka — упрощенная масштабируемость, отказоустойчивость, параллелизм и удаленное взаимодействие через актеров» . jonasboner.com.
  9. ^ Бонер, Йонас. «Почему мы меняем лицензию на Akka» . Проверено 7 сентября 2022 г.
  10. ^ «Команда Акка» . akka.io. ​Проверено 6 июня 2013 г.
  11. ^ «Список участников Akka» . github.com . Проверено 6 июня 2013 г.
  12. ^ Дениц, Матиас. «Набор инструментов для распыления» . спрей.io . Проверено 6 июня 2013 г.
  13. ^ «Документация платформы Play: интеграция с Akka» . playframework.com . Проверено 6 июня 2013 г.
  14. ^ «Источники проекта Spark» . github.com . Проверено 6 июня 2013 г.
  15. ^ «Веб-сервер Соко» . sockoweb.org . Проверено 6 июня 2013 г.
  16. ^ «Библиотека событий» . Элигоисточник . Проверено 6 июня 2013 г.
  17. ^ «Инструмент стресс-тестирования Гатлинга» . github.com . Проверено 6 июня 2013 г.
  18. ^ «Акка-Скалатра» . scalatra.org . Проверено 6 октября 2022 г.
  19. ^ «Ваадин в Акке» . Vaadin.com . Проверено 26 апреля 2014 г.
  20. ^ «Apache Flink — Акка за победу!» . http://flink.apache.org . Проверено 2 декабря 2015 г.
  21. ^ «Apache Flink: Scala Free в одном пятнадцати» . http://flink.apache.org . 22 февраля 2022 г. Проверено 22 апреля 2022 г.
  22. ^ «Лагом — Интеграция с Аккой» .
  23. ^ Ташарофи, Самира. «Как корпус актерского проекта на GitHub» . cs.illinois.edu. Архивировано из оригинала 3 октября 2012 г. Проверено 0 июня 2013 г.
  24. ^ Гупта, Муниш К. (2012). Акка Основы . Пакт Паблишинг. п. 334. ИСБН  978-1849518284 .
  25. ^ Вятт, Дерек (2013). Таким образом, параллелизм . Артима. п. 521. ИСБН  978-0981531663 .
  26. ^ Лопес-Санч Абрахам, Фрэнсис (2023). Как в «Действии», второе издание . Публикации Мэннинга. п. 400. ИСБН  978-1617299216 .
  27. ^ Рустенбург, Раймонд (2013). Акка в действии . Публикации Мэннинга. п. 475. ИСБН  978-1617291012 .
  28. ^ Аллен, Джейми (2013). Эффективен как . О'Рейли Медиа. п. 74. ИСБН  978-1449360078 .
  29. ^ Слинн, Майкл (2012). Составные фьючерсы с Akka 2.0 . Микронавтические исследования. п. 178. ИСБН  978-0984278923 .
  30. ^ Халлер, Филип (2012). Актеры в Scala . Артима. стр. 169. ИСБН  978-0981531656 .
  31. ^ Райчаудхури, Ниланджан (2013). Масштаб в действии Публикации Мэннинга. п. 416. ИСБН  978-1935182757 .
  32. ^ Вамплер, Дин (2011). Функциональное программирование для разработчиков Java . О'Рейли Медиа. стр. 90 . ISBN  978-1449311032 .
  33. ^ Александр, Элвин (2013). Поваренная книга Скала . О'Рейли Медиа. п. 722. ИСБН  978-1449339616 .
  34. ^ Субраманиам, Венкат (2011). Параллельное программирование на JVM: освоение синхронизации, STM и актеров . Прагматичная книжная полка. стр. 280 . ISBN  978-1934356760 .
  35. ^ Бернхардт, Мануэль (2016). Реактивные веб-приложения: охватывают Play, Akka и Reactive Streams . Публикации Мэннинга. п. 328. ИСБН  9781633430099 .
  36. ^ Дэрроу, Барб (25 июня 2012 г.). «Juniper Networks подписывает контракт со Scala» . gigaom.com. Архивировано из оригинала 2 июня 2013 года . Проверено 8 июня 2013 г.
  37. ^ Росс, Дэвид. «Масштабирование Klout API с помощью Scala, Akka и Play» . Проверено 8 июня 2013 г.
  38. ^ Хейнс, Стивен (8 мая 2013 г.). «Java-проекты с открытым исходным кодом: Akka» . JavaWorld . Проверено 15 июля 2020 г.
  39. ^ «Ява-Магазин 6.13» . jaxenter.de. Архивировано из оригинала 13 августа 2013 года . Проверено 8 июня 2013 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e9b54cc799af9c3364e4b69d2a6a26e1__1711046880
URL1:https://arc.ask3.ru/arc/aa/e9/e1/e9b54cc799af9c3364e4b69d2a6a26e1.html
Заголовок, (Title) документа по адресу, URL1:
Akka (toolkit) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)