Izdaja ogrodja za ustvarjanje omrežnih aplikacij ErgoFramework 2.2

Izšla je naslednja izdaja ErgoFramework 2.2, ki implementira celoten omrežni sklad Erlang in njegovo knjižnico OTP v jeziku Go. Ogrodje razvijalcu ponuja prilagodljiva orodja iz sveta Erlanga za ustvarjanje porazdeljenih rešitev v jeziku Go z uporabo že pripravljenih splošnih oblikovalskih vzorcev gen.Application, gen.Supervisor in gen.Server, pa tudi specializiranih - gen. Stage (distribuirani pub/sub), gen.Raft (razdeljene transakcije, izvedba vzorca načrtovanja SAGA) in gen.Raft (izvedba protokola Raft).

Poleg tega ogrodje zagotavlja funkcijo posrednika s šifriranjem od konca do konca, ki ni na voljo v Erlang/OTP in Elixir. Ker jezik Go nima neposrednega analoga procesa Erlang, ogrodje uporablja goroutine kot osnovo za gen.Server z ovojom »recover« za obravnavo izrednih situacij. Koda projekta se distribuira pod licenco MIT.

Omrežni sklad v ErgoFramework v celoti implementira specifikacijo DIST protokola Erlang. To pomeni, da aplikacije, napisane na podlagi ErgoFramework, izvorno delujejo z vsemi aplikacijami, napisanimi v programskih jezikih Erlang ali Elixir (primer interakcije z vozliščem Erlang). Omeniti velja tudi, da je vzorec načrtovanja gen.Stage implementiran v skladu s specifikacijo Elixir GenStage in je z njo popolnoma združljiv (primer implementacije).

V novi izdaji:

  • Dodane nove predloge
    • gen.Web je vzorec oblikovanja prehoda spletnega API-ja (znan tudi kot Backend For Frontend). Primer.
    • gen.TCP je predloga, ki vam omogoča implementacijo skupine sprejemnikov povezave TCP z minimalnim naporom pri pisanju kode. Primer.
    • gen.UDP - podobno predlogi gen.TCP, le za protokol UDP. Primer.
  • Predlagana je bila nova funkcionalnost dogodkov z implementacijo preprostega vodila dogodkov znotraj vozlišča, ki vam omogoča ustvarjanje mehanizmov za izmenjavo dogodkov (pub/sub) med lokalnimi procesi. Primer.
  • Dodana podpora za registracijo tipa, ki omogoča samodejno serializacijo/deserializacijo sporočil v izvorni podatkovni tip Golang. To pomeni, da vam ni več treba uporabljati etf.TermIntoStruct za vsako prejeto sporočilo. Registrirani tipi bodo samodejno preoblikovani v podani tip, kar znatno pospeši delovanje izmenjave sporočil med porazdeljenimi vozlišči.

Vir: opennet.ru

Dodaj komentar