Gleam OTP – Fault Tolerant Multicore Programs with Actors
Проект OTP от команды gleam-lang предоставляет инструменты для создания отказоустойчивых многопоточных программ с использованием модели акторов. Реализация переносит мощные концепции Erlang OTP в экосистему языка Gleam, предлагая разработчикам современный подход к построению распределенных систем.
В основе проекта лежит модель акторов с изолированными процессами, где каждый актор обрабатывает сообщения независимо, обеспечивая естественную параллелизм и изоляцию состояний. Такой подход позволяет создавать системы, которые продолжают функционировать даже при сбоях отдельных компонентов, автоматически перезапуская упавшие процессы и сохраняя целостность данных.
Комментарии (81)
- Обсуждение началось с восторженного отзыва о Gleam и его преимуществах, но быстро перешло в сравнение с Erlang/OTP и обсуждение того, что такое actor-модель и как она справляется с распределённым состоянием.
- Участники обменялись мнениями о том, какие языки/подходы лучше подходят для BEAM-стека, и подняли вопрос о том, что именно делает Erlang уникальным и какие у него есть ограничения.
- Также было затронуто, что такое влияние имеет выбор языка на разработку DSL и встраивание в другие системы, и почему транспиляция в Lua не рассматривается как цель.
- В конце обсуждение сошлось на то, что выбор инструмента в конечном счёте сводится к личным предпочтениям и конкретному проекту.
Run Erlang/Elixir on Microcontrollers and Embedded Linux
GRiSP – три стека для запуска Erlang/Elixir на встраиваемых системах:
- GRiSP Metal – BEAM на RTEMS, 16 МБ ОЗУ, реальное время, прямой доступ к железу.
- GRiSP Alloy – BEAM на Buildroot-Linux RT, несколько VM, приоритеты и привязка к ядрам.
- GRiSP Forge – то же, но на Yocto, для долгих жизненных циклов и кастомных BSP.
GRiSP-io – облачная платформа для OTA-обновлений, мониторинга и масштабного управления устройствами.
Преимущества: открытый код, надёжность BEAM, минимальные задержки, масштабируемость от прототипа до флота.
Комментарии (48)
- Участники спорят, считать ли 16 МБ «MCU-классом»: традиционные микроконтроллеры имеют ≤1 МБ, но современные ESP32 и NXP i.MX 6UL уже выходят за эти рамки.
- GRISP — это BEAM-платформа поверх RTEMS для «мягкого» реального времени, в отличие от Nerves (BEAM на минимальном Linux).
- Пользователи отмечают удобство модели акторов и горячей замены кода, но сомневаются в приоритетах процессов и строгих гарантиях latency.
- Для устройств с КБ-объёмом памяти предложили AtomVM; 16 МБ пока выше среднего, но быстро дешевеет.
- На «железе» 90-х Erlang/Elixir запустится, если ОЗУ ≥16 МБ; сама BEAM требовала ещё меньше.