Для тех, кто еще не знаком с фреймворком: он реализует акторную модель — дизайн-паттерн из мира Erlang/Elixir. Это не виртуальная машина BEAM, а скорее аналог библиотеки OTP для построения распределенных систем.
Этот релиз получился очень большим, поэтому я остановлюсь на ключевых изменениях.
Фреймворк представляет собой реализацию концепций Erlang для разработки на Go, построенный на модели
акторов с сетевой прозрачностью и готовыми компонентами.
После года разработки вышла очередная версия фреймворка для построения распределенных решений на языке Golang – Ergo Framework 3.1
Ergo Framework – это реализация идей, технологий и шаблонов проектирования из мира Erlang на языке программирования Go. Он построен на акторной модели, сетевой прозрачности и наборе готовых компонентов для разработки. Это значительно упрощает создание сложных и распределенных решений, обеспечивая при этом высокий уровень надежности и производительности.
Ergo Framework – это реализация идей, технологий и шаблонов проектирования из мира Erlang на языке программирования Go. Он построен на акторной модели, сетевой прозрачности и наборе готовых компонентов для разработки. Это значительно упрощает создание сложных и распределенных решений, обеспечивая при этом высокий уровень надежности и производительности.
Состоялся очередной релиз ErgoFramework, реализующего полный сетевой стек Erlang и его библиотеку OTP на языке Go.
Фреймворк предоставляет разработчику гибкий инструментарий из мира Erlang для создания распределённых решений на языке Go с помощью готовых шаблонов проектирования общего назначения gen.Application, gen.Supervisor и gen.Server. а также специализированных - gen.Stage (distributed pub/sub), gen.Saga (distributed transactions. реализация шаблона проектирования SAGA) и gen.Raft (реализация протокола Raft).
Ergo Framework — фреймворк на основе акторов для создания микросервисов с использованием технологий и шаблонов проектирования Erlang/OTP в Golang
Фреймворк предоставляет разработчику гибкий инструментарий из мира Erlang для создания распределённых решений на языке Go с помощью готовых шаблонов проектирования gen.Application, gen.Supervisor и gen.Server. Поскольку в языке Go отсутствует прямой аналог процесса Erlang, то во фреймворке используются goroutine как основы для gen.Server с обёрткой recover для возможности обработки исключительных ситуаций.
Код проекта распространяется под лицензией MIT.
Ключевые новшества в этом релизе:
сompression;
proxy с поддержкой оконечного (end-to-end) шифрования;