Ergo Framework 3.2

Фреймворк представлява реализация на концепциите на Erlang за разработка на Go, изградена върху модел на актьори с мрежова прозрачност и готови компоненти.

Основни възможности в тази версия

  • mTLS — нов интерфейс gen.CertAuthManager за взаимна аутентификация с управление на CA пулове
  • NAT traversal — опции RouteHost и RoutePort за възли зад NAT или балансери
  • Контрол на времето за инициализация — InitTimeout ограничава времето за инициализация на процесите (локално и отдалечено)
  • Време за_shutdown — контролирано затваряне на възела с логване на зависнали процеси
  • pprof етикети — всяка горутина на актора се етикетира с PID за дебъгване през pprof

Нови актьори (Extra Library)

  • Лидер — разпределени избори на лидер с консенсус в стил Raft. Автоматичен failover, защита от split-brain чрез кворум на мнозинството
  • Metrics — експортер на метрики Prometheus с автоматично събиране на телеметрия от възела и мрежата

Нови мета-процеси

  • SSE (Server-Sent Events) — еднопосочен стрийминг от сървър към клиент по HTTP с пълна поддръжка на спецификацията SSE

Производителност

  • Локално: 21M+ съобщения/сек
  • По мрежата: ~5M съобщения/сек
  • Разпределено Pub/Sub: 2.9M съобщения/сек доставка на 1,000,000 абонати на 10 възела (10 мрежови съобщения вместо 1M)

Поправки

  • Критичен бъг: сигналите за затваряне (Link/Monitor exits) неправилно се отхвърляха поради неправилна проверка на incarnation в мрежовия слой

Документация

Пълна преработка и включена в репозитория. Нови статии:

  • Project Structure — организация на проектите с нива на изолация на съобщенията
  • Building a Cluster — стъпка по стъпка ръководство за разпределени системи
  • Message Versioning — еволюция на контрактите на съобщенията в клъстери
  • Debugging — build tags, pprof, дебъгване на зависнали процеси

Връзки

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster