Verëffentlechung vum Kader fir Netzwierkapplikatiounen ErgoFramework 2.2

Déi nächst Verëffentlechung vun ErgoFramework 2.2 huet stattfonnt, de komplette Erlang Netzwierkstack a seng OTP Bibliothéik an der Go Sprooch implementéiert. De Kader bitt dem Entwéckler flexibel Tools aus der Welt vun Erlang fir verdeelt Léisungen an der Go-Sprooch ze kreéieren mat fäerdegen allgemenge Designmuster gen.Application, gen.Supervisor a gen.Server, souwéi spezialiséiert - gen. Stage (verdeelt Pub / Ënner), Gen. Saga (verdeelt Transaktiounen, eng Ëmsetzung vun der SAGA Design Muster) an Gen.Raft (eng Ëmsetzung vun der Raft Protokoll).

Zousätzlech bitt de Kader Proxy Funktionalitéit mat End-to-End Verschlësselung, déi net an Erlang / OTP an Elixir verfügbar ass. Well d'Go Sprooch keen direkten Analog vum Erlang-Prozess huet, benotzt de Kader Goroutinen als Basis fir gen.Server mat engem "recuperéieren" Wrapper fir Ausnamesituatiounen ze handhaben. De Projet Code gëtt ënner der MIT Lizenz verdeelt.

Den Netzwierkstack am ErgoFramework implementéiert d'DIST Spezifizéierung vum Erlang Protokoll voll. Dëst bedeit datt Uwendungen, déi op Basis vum ErgoFramework geschriwwe sinn, nativ mat all Uwendungen funktionnéieren, déi an der Erlang oder Elixir Programméierungssprooch geschriwwe sinn (e Beispill vun der Interaktioun mat engem Erlang Node). Et ass och derwäert ze notéieren datt de Gen.Stage Design Muster no der Elixir GenStage Spezifizéierung implementéiert ass a voll kompatibel mat deem ass (Implementéierungsbeispill).

An der neier Verëffentlechung:

  • Nei Schabloune bäigefüügt
    • gen.Web ass e Web API Gateway (och bekannt als Backend For Frontend) Designmuster. Beispill.
    • gen.TCP ass eng Schabloun déi Iech erlaabt e Pool vun TCP Verbindungsacceptoren mat minimalem Effort beim Schreiwen vum Code ëmzesetzen. Beispill.
    • gen.UDP - ähnlech wéi d'gen.TCP Schabloun, nëmme fir den UDP Protokoll. Beispill.
  • Eng nei Eventfunktionalitéit gouf mat der Ëmsetzung vun engem einfachen Eventbus an engem Node proposéiert, wat Iech erlaabt Mechanismen ze kreéieren fir Eventer (Pub / Ënner) tëscht lokalen Prozesser auszetauschen. Beispill.
  • Zousätzlech Ënnerstëtzung fir Typregistrierung, déi automatesch Serialiséierung / Deserialiséierung vu Messagen an engem gebiertege Golang Datentyp erlaabt. Dat heescht, Dir braucht net méi etf.TermIntoStruct fir all Message ze benotzen. Registréiert Typen ginn automatesch op de spezifizéierte Typ transforméiert, wat d'Leeschtung vum Messageaustausch tëscht verdeelt Noden wesentlech beschleunegt.

Source: opennet.ru

Setzt e Commentaire