Nowa wersja frameworka do tworzenia aplikacji sieciowych Ergo 1.2

Po roku rozwoju wydano framework Ergo 1.2, implementujący pełny stos sieciowy Erlang i jego bibliotekę OTP w języku Go. Framework udostępnia programiście elastyczne narzędzia ze świata Erlanga do tworzenia rozproszonych rozwiązań w języku Go z wykorzystaniem gotowych wzorców projektowych Application, Supervisor i GenServer. Ponieważ język Go nie ma bezpośredniego odpowiednika procesu Erlang, framework wykorzystuje goroutines jako podstawę dla GenServera z opakowaniem odzyskiwania do obsługi sytuacji wyjątkowych. Kod projektu jest rozpowszechniany na licencji MIT.

W nowym wydaniu:

  • Zaimplementowano obsługę TLS 1.3 z możliwością automatycznego generowania certyfikatów z podpisem własnym (jeśli chcesz szyfrować połączenia, ale nie ma potrzeby autoryzacji, ponieważ połączenie wykorzystuje plik cookie w celu zapewnienia dostępu do hosta)
  • Dodano routing statyczny, aby wyeliminować potrzebę polegania na EPMD w celu ustalenia portu hosta. Rozwiązuje to problem bezpieczeństwa i wraz z szyfrowaniem umożliwia uruchomienie klastra Erlang w sieciach publicznych.
  • Dodano nowy szablon GenStage (ze świata Elixir), który umożliwia tworzenie rozwiązań Pub/Sub bez korzystania z Message Bus. Jedną z ważnych cech tego szablonu jest „kontrola przeciwciśnienia”. „Producent” dostarczy dokładnie taką ilość wiadomości, jakiej zażądał „Konsument”. Przykładową realizację można znaleźć tutaj.

W części dyskusyjnej omówiono implementację wzorca projektowego SAGAS, który implementuje funkcjonalność transakcji rozproszonych.

Źródło: opennet.ru

Dodaj komentarz