Vydanie rámca na vytváranie sieťových aplikácií ErgoFramework 2.2

Prebehlo ďalšie vydanie ErgoFramework 2.2, ktoré implementuje kompletný sieťový zásobník Erlang a jeho knižnicu OTP v jazyku Go. Rámec poskytuje vývojárovi flexibilné nástroje zo sveta Erlang na vytváranie distribuovaných riešení v jazyku Go pomocou hotových návrhových šablón všeobecného určenia gen.Application, gen.Supervisor a gen.Server, ako aj špecializovaných – gen.Stage (distribuovaná pub/sub), gen.Saga (distribuované transakcie, implementácia návrhového vzoru SAGA) a gen.Raft (implementácia protokolu Raft).

Okrem toho rámec poskytuje funkčnosť proxy s možnosťou prenosného šifrovania, ktorá nie je dostupná v Erlang/OTP a Elixire. Keďže v jazyku Go neexistuje priame ekvivalent procesu Erlang, rámec využíva goroutine ako základ pre gen.Server s obálkou „recover“ pre možnosť spracovania výnimiek. Kód projektu je šírený pod licenciou MIT.

Sieťový zásobník v ErgoFramework úplne implementuje špecifikáciu DIST protokolu Erlang. To znamená, že aplikácie napísané na základe ErgoFramework nativne fungujú s akýmikoľvek aplikáciami napísanými v programovacích jazykov Erlang alebo Elixir (príklad interakcie s Erlang nódou). Rovnako treba poznamenať, že návrhový vzor gen.Stage je implementovaný podľa špecifikácie Elixir GenStage a je s ním plne kompatibilný (príklad implementácie).

V novom vydaní:

  • Pridané nové šablóny
    • gen.Web — návrhový vzor Web API Gateway (tiež známy ako Backend For Frontend). Príklad.
    • gen.TCP — vzor, ktorý umožňuje implementovať pool akceptorov TCP spojení s minimálnym úsilím v písaní kódu. Príklad.
    • gen.UDP — analogický návrhovému vzoru gen.TCP, len pre protokol UDP. Príklad.
  • Navrhnutá nová funkčnosť Events s implementáciou jednoduchej udalostnej zbernice vo vnútri nody, ktorá umožňuje vytvárať mechanizmy na výmenu udalostí (pub/sub) medzi lokálnymi procesmi. Príklad.
  • Pridaná podpora registrácie typov, ktorá umožňuje automaticky vykonávať serializáciu/deserializáciu správ do natívneho dátového typu Golang. To znamená, že už nie je potrebné používať etf.TermIntoStruct pre každú prijatú správu. Registrované typy budú automaticky transformované na daný typ, čo výrazne zvyšuje výkon výmeny správ medzi distribuovanými nódami.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster