Izdavanje okvira za kreiranje mrežnih aplikacija ErgoFramework 2.2

Došlo je do sljedećeg izdanja ErgoFrameworka 2.2, implementirajući kompletan Erlang mrežni stog i njegovu OTP biblioteku na Go jeziku. Framework pruža programeru fleksibilne alate iz svijeta Erlanga za kreiranje distribuiranih rješenja na Go jeziku koristeći gotove obrasce dizajna opšte namjene gen.Application, gen.Supervisor i gen.Server, kao i specijalizirane - gen. Stage (distribuirani pub/sub), gen. Saga (distribuirane transakcije, implementacija SAGA obrasca dizajna) i gen.Raft (implementacija Raft protokola).

Osim toga, okvir pruža proxy funkcionalnost sa end-to-end enkripcijom, koja nije dostupna u Erlang/OTP i Elixir-u. Pošto Go jezik nema direktan analog Erlang procesa, okvir koristi goroutine kao osnovu za gen.Server sa omotačem za „oporavak“ za rukovanje izuzetnim situacijama. Šifra projekta se distribuira pod MIT licencom.

Mrežni stog u ErgoFrameworku u potpunosti implementira DIST specifikaciju Erlang protokola. To znači da aplikacije napisane na bazi ErgoFrameworka rade izvorno sa svim aplikacijama napisanim u programskim jezicima Erlang ili Elixir (primjer interakcije s Erlang čvorom). Također je vrijedno napomenuti da je gen.Stage obrazac dizajna implementiran prema specifikaciji Elixir GenStage i potpuno je kompatibilan s njom (primjer implementacije).

U novom izdanju:

  • Dodani su novi šabloni
    • gen.Web je Web API Gateway (također poznat kao Backend For Frontend) obrazac dizajna. Primjer.
    • gen.TCP je predložak koji vam omogućava da implementirate skup akceptora TCP veze uz minimalan napor u pisanju koda. Primjer.
    • gen.UDP - sličan gen.TCP šablonu, samo za UDP protokol. Primjer.
  • Predložena je nova funkcionalnost događaja sa implementacijom jednostavne sabirnice događaja unutar čvora, koja vam omogućava da kreirate mehanizme za razmjenu događaja (pub/sub) između lokalnih procesa. Primjer.
  • Dodata podrška za registraciju tipa, koja omogućava automatsku serijalizaciju/deserijalizaciju poruka u izvorni Golang tip podataka. To znači da više ne morate koristiti etf.TermIntoStruct za svaku primljenu poruku. Registrirani tipovi će se automatski transformirati u navedeni tip, što značajno ubrzava performanse razmjene poruka između distribuiranih čvorova.

izvor: opennet.ru

Dodajte komentar