SlÀpp av ErgoFramework 2.2 för skapande av nÀtverksapplikationer

Den senaste versionen av ErgoFramework 2.2 har slĂ€ppts, som implementerar hela nĂ€tverksstegen för Erlang och dess OTP-bibliotek i Go. Ramverket erbjuder utvecklaren ett flexibelt verktyg frĂ„n Erlang-vĂ€rlden för att skapa distribuerade lösningar i Go med hjĂ€lp av fĂ€rdiga designmönster för allmĂ€nt bruk gen.Application, gen.Supervisor och gen.Server, samt specialiserade — gen.Stage (distribuerad pub/sub), gen.Saga (distribuerade transaktioner, implementering av designmönstret SAGA) och gen.Raft (implementering av Raft-protokollet).

Dessutom erbjuder ramverket proxyfunktionalitet med end-to-end-kryptering, vilket inte Àr tillgÀngligt i Erlang/OTP och Elixir. Eftersom det inte finns en direkt motsvarighet till Erlang-processer i Go, anvÀnds goroutine som grund för gen.Server med en 'recover'-inpackning för att hantera undantagsförhÄllanden. Projektkoden distribueras under MIT-licensen.

NÀtverkssteget i ErgoFramework implementerar helt specifikationen för DIST-protokollet i Erlang. Det betyder att applikationer som skrivits med ErgoFramework fungerar nativt med alla applikationer skrivna i programmeringssprÄken Erlang eller Elixir (exempel pÄ interaktion med en Erlang-nod). Det Àr ocksÄ vÀrt att nÀmna att designmönstret gen.Stage har implementerats enligt specifikationen för Elixir GenStage och Àr helt kompatibelt med den (implementeringsexempel).

I den nya utgÄvan:

  • Nya mönster har lagts till
    • gen.Web — designmönster för Web API Gateway (Ă€ven kĂ€nt som Backend For Frontend). Exempel.
    • gen.TCP — ett mönster som gör det möjligt att implementera en pool av TCP-anslutningsacceptorer med minimala anstrĂ€ngningar i kodningen. Exempel.
    • gen.UDP — liknar mönstret gen.TCP, men för UDP-protokollet. Exempel.
  • En ny funktionalitet för Events har föreslagits med en enkel hĂ€ndelsebuss inuti noden, vilket gör det möjligt att skapa mekanismer för hĂ€ndelseutbyte (pub/sub) mellan lokala processer. Exempel.
  • Stöd för typregistrering har lagts till, vilket gör det möjligt att automatiskt utföra serialisering/deserialisering av meddelanden till den nativa datatypen Golang. Detta betyder att det inte lĂ€ngre behövs anvĂ€nda etf.TermIntoStruct för varje mottaget meddelande. Registrerade typer kommer att omvandlas automatiskt till den angivna typen, vilket avsevĂ€rt ökar prestandan för meddelandeutbyte mellan distribuerade noder.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster