После года разработки вышла очередная версия фреймворка для построения распределенных решений на языке Golang – Ergo Framework 3.1
Ergo Framework – это реализация идей, технологий и шаблонов проектирования из мира Erlang на языке программирования Go. Он построен на акторной модели, сетевой прозрачности и наборе готовых компонентов для разработки. Это значительно упрощает создание сложных и распределенных решений, обеспечивая при этом высокий уровень надежности и производительности.
Ключевые возможности этой версии
Основные улучшения:
- Cron планировщик для выполнения задач по времени со стандартными cron выражениями
- Port Meta Process для управления внешними процессами ОС с двунаправленной связью
- Фреймворк для юнит-тестирования изолированного тестирования акторов с валидацией событий
- Улучшенное логирование с JSON выводом и структурированными полями
Экосистема внешних библиотек:
- Все внешние библиотеки теперь независимые Go модули с отдельным управлением зависимостями
- Новый etcd Registrar для распределенного service discovery с событиями кластера в реальном времени
- Улучшенный Observer со страницей Applications и мониторингом Cron задач
- Производительность сериализации EDF теперь конкурирует с Protobuf, сохраняя гибкость runtime reflection
- Erlang protocol stack переведен с лицензии BSL 1.1 на MIT
- Все инструменты консолидированы под доменом ergo.tools
Производительность
Более 21М сообщений/сек локально и 5М сообщений/сек по сети на 64-ядерных системах. Сериализация EDF конкурентоспособна с Protobuf для большинства типов данных.
Ресурсы
- Документация: https://docs.ergo.services
- Примеры: https://github.com/ergo-services/examples
- Бенчмарки: https://github.com/ergo-services/benchmarks
Подробный changelog смотрите в README.md на https://github.com/ergo-services/ergo
Приятного кодинга✌️ https://ergo.services
>>> Подробности