Nowe wydanie frameworka do tworzenia aplikacji sieciowych Ergo 1.2

Po roku prac został wydany framework Ergo 1.2, który implementuje pełny stos sieciowy Erlang oraz jego bibliotekę OTP w języku Go. Framework zapewnia programiście elastyczne narzędzia ze świata Erlang do tworzenia rozproszonych rozwiązań w języku Go, korzystając z gotowych wzorców projektowych Application, Supervisor i GenServer. Ponieważ w języku Go nie ma bezpośredniego odpowiednika procesu Erlang, w frameworku używane są goroutine jako podstawy dla GenServer z owinięciem recover, aby umożliwić obsługę wyjątków. Kod projektu jest rozpowszechniany na licencji MIT.

W nowym wydaniu:

  • Wdrożono wsparcie dla TLS 1.3 z możliwością automatycznego generowania samopodpisanych certyfikatów (jeśli konieczne jest szyfrowanie połączeń, ale nie ma potrzeby jego autoryzacji, ponieważ połączenie wykorzystuje cookie do zapewnienia dostępu do węzła).
  • Dodano statyczne routowanie, aby uniknąć zapytań do EPMD w celu określenia portu węzła. Umożliwia to rozwiązanie problemu bezpieczeństwa i wraz z szyfrowaniem pozwala na uruchamianie klastra Erlang w publicznych sieciach.
  • Dodano nowy szablon GenStage (ze świata Elixir), który pozwala na tworzenie rozwiązań Pub/Sub bez użycia Message Bus. Jedną z ważnych cech tego szablonu jest „kontrola backpressure”. „Producent” dostarczy dokładnie taką ilość wiadomości, jaka została zażądana przez „Konsumenta.” Przykład realizacji można zobaczyć tutaj.

W sekcji dyskusji poruszana jest implementacja wzorca projektowego SAGAS, który wdraża funkcjonalność rozproszonych transakcji.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster