Ergo Framework 3.2

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

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

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

Нови актьори (Допълнителна библиотека)

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

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

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

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

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

Корекции

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

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

Пълно пренаписване и включване в хранилището. Нови статии:

  • Структура на проекта — организиране на проекти с нива на изолация на съобщенията
  • Създаване на клъстър — стъпка по стъпка ръководство за разпределени системи
  • Версиониране на съобщения — еволюция на договорите за съобщения в клъстери
  • Отстраняване на грешки — build тагове, pprof, отстраняване на забавени процеси

Връзки

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

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