Новата версия на фреймворка за изграждане на мрежови приложения Ergo 1.2

След година разработка, беше пуснат фреймворкът Ergo 1.2, който реализира пълен мрежови стек Erlang и неговата библиотека OTP на езика Go. Фреймворкът предоставя на разработчиците гъвкав инструментариум от света на Erlang за създаване на разпределени решения на езика Go с помощта на готови шаблони за проектиране като Application, Supervisor и GenServer. Тъй като езикът Go няма пряк аналог на процеса Erlang, във фреймворка се използват goroutine като основа за GenServer с обвивка recover за обработка на изключителни ситуации. Кодът на проекта се разпространява под лицензия MIT.

В новото издание:

  • Реализирана е поддръжка на TLS 1.3 с възможност за автогенерация на самоподписани сертификати (когато е необходимо криптиране на връзките, но няма нужда от удостоверяване, тъй като свързването използва cookie за предоставяне на достъп до узла).
  • Добавена е статична маршрутизация, за да се избегне консултацията с EPMD за определяне на порта на узла. Това решава проблема с безопасността и в комбинация с криптиране позволява стартирането на кластер Erlang в публични мрежи.
  • Добавен е нов шаблон GenStage (от света на Elixir), който позволява създаването на решения Pub/Sub без използване на Message Bus. Една от важните характеристики на този шаблон е “контрол на обратната плътностâ€. “Продюсерът†ще доставя точно толкова съобщения, колкото е поискал “Консуматорътâ€. Пример за реализация може да бъде видян тук.

В секцията за дискусии се обсъжда реализацията на шаблона за проектиране SAGAS, който реализира функционалността на разпределени транзакции.

Източник: opennet.ru

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