Выпуск фреймворка для создания сетевых приложений ErgoFramework 2.2

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
18-Окт-2022 17:50

Состоялся очередной релиз ErgoFramework 2.2, реализующего полный сетевой стек Erlang и его библиотеку OTP на языке Go. Фреймворк предоставляет разработчику гибкий инструментарий из мира Erlang для создания распределённых решений на языке Go с помощью готовых шаблонов проектирования общего назначения gen.Application, gen.Supervisor и gen.Server, а также специализированных - gen.Stage (distributed pub/sub), gen.Saga (distributed transactions, реализация шаблона проектирования SAGA) и gen.Raft (реализация протокола Raft).
Помимо этого, фреймворк предоставляет функциональность прокси с возможностью сквозного шифрования, недоступного в Erlang/OTP и Elixir. Поскольку в языке Go отсутствует прямой аналог процесса Erlang, то во фреймворке используются goroutine как основы для gen.Server с обёрткой "recover" для возможности обработки исключительных ситуаций. Код проекта распространяется под лицензией MIT.
Сетевой стек в ErgoFramework полностью реализует спецификацию DIST протокола Erlang. Это значит, что приложения, написанные на основе ErgoFramework нативно работают с любыми приложениями, написанными на языках программирования Erlang или Elixir (пример взаимодействия с Erlang нодой). Стоит также отметить, что шаблон проектирования gen.Stage реализован по спецификации Elixir GenStage и полностью совместим с ним (пример реализации).
В новом выпуске:
  • Добавлены новые шаблоны
    • gen.Web - шаблон проектирования Web API Gateway (также известный как Backend For Frontend). Пример.
    • gen.TCP - шаблон, позволяющий реализовывать пул акцепторов TCP соединений с минимальными усилиями в написании кода. Пример.
    • gen.UDP - аналогичен шаблону gen.TCP, только для протокола UDP. Пример.
  • Предложена новая функциональность Events с реализацией простой событийной шины внутри ноды, которая позволяет создавать механизмы обмена событиями (pub/sub) среди локальных процессов. Пример.
  • Добавлена поддержка регистрации типов, которая позволяет автоматически проводить сериализацию/десериализацию сообщений в нативный тип данных Golang. Это значит больше не нужно использовать etf.TermIntoStruct для каждого полученного сообщения. Зарегистрированные типы будут трансформированы в заданный тип автоматически, что значительно ускоряет производительность обмена сообщениями между распределёнными нодами.

===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_ergo, #_erlang, #_golang
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 03-Май 14:44
Часовой пояс: UTC + 5