Новы выпуск фрэймворка для стварэння сеткавых прыкладанняў 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. Адной з важных асаблівасцяў гэтага шаблону з'яўляецца "backpressure control". "Producer" будзе дастаўляць роўна той аб'ём паведамленняў, які быў запытаны "Consumer." Прыклад рэалізацыі можна паглядзець тут.

У раздзеле дыскусій абмяркоўваецца рэалізацыя шаблону праектавання SAGAS, які рэалізуе функцыянальнасць размеркаваных транзакцый.

Крыніца: opennet.ru

Дадаць каментар