Tīkla lietojumprogrammu izveides sistēmas izlaišana ErgoFramework 2.2

Tika izdots nākamais ErgoFramework 2.2 laidiens, ieviešot visu Erlang tīkla steku un tā OTP bibliotēku Go valodā. Ietvars nodrošina izstrādātājam elastīgus rīkus no Erlang pasaules izplatīto risinājumu izveidei Go valodā, izmantojot gatavus vispārējas nozīmes dizaina modeļus gen.Application, gen.Supervisor un gen.Server, kā arī specializētos - ģen. Stage (distributed pub/sub), ģen.Saga (izplatīti darījumi, SAGA dizaina modeļa realizācija) un gen.Raft (plostu protokola realizācija).

Turklāt sistēma nodrošina starpniekservera funkcionalitāti ar pilnīgu šifrēšanu, kas nav pieejama Erlang/OTP un Elixir. Tā kā valodai Go nav tieša Erlang procesa analoga, ietvars izmanto gorutīnas kā pamatu gen.Server ar “atkopšanas” iesaiņojumu, lai apstrādātu izņēmuma situācijas. Projekta kods tiek izplatīts saskaņā ar MIT licenci.

ErgoFramework tīkla steks pilnībā ievieš Erlang protokola DIST specifikāciju. Tas nozīmē, ka lietojumprogrammas, kas rakstītas, pamatojoties uz ErgoFramework, darbojas sākotnēji ar visām programmām, kas rakstītas Erlang vai Elixir programmēšanas valodās (mijiedarbības piemērs ar Erlang mezglu). Ir arī vērts atzīmēt, ka gen.Stage dizaina modelis ir ieviests saskaņā ar Elixir GenStage specifikāciju un ir pilnībā saderīgs ar to (īstenošanas piemērs).

Jaunajā laidienā:

  • Pievienotas jaunas veidnes
    • gen.Web ir Web API vārtejas (pazīstama arī kā Backend For Frontend) dizaina modelis. Piemērs.
    • gen.TCP ir veidne, kas ļauj ieviest TCP savienojuma akceptoru kopu ar minimālu piepūli, rakstot kodu. Piemērs.
    • gen.UDP - līdzīgi gen.TCP veidnei, tikai UDP protokolam. Piemērs.
  • Ir piedāvāta jauna Events funkcionalitāte ar vienkāršas notikumu kopnes ieviešanu mezglā, kas ļauj izveidot mehānismus notikumu apmaiņai (pub/sub) starp vietējiem procesiem. Piemērs.
  • Pievienots atbalsts tipa reģistrācijai, kas ļauj automātiski serializēt/deserializēt ziņojumus vietējā Golang datu tipā. Tas nozīmē, ka jums vairs nav jāizmanto etf.TermIntoStruct katram saņemtajam ziņojumam. Reģistrētie veidi tiks automātiski pārveidoti par norādīto tipu, kas ievērojami paātrina ziņojumu apmaiņas veiktspēju starp sadalītajiem mezgliem.

Avots: opennet.ru

Pievieno komentāru