Võrgurakenduste loomise raamistiku väljaandmine ErgoFramework 2.2

Toimus ErgoFramework 2.2 järgmine väljalase, mis rakendas kogu Erlangi võrgupinu ja selle OTP teeki Go keeles. Raamistik pakub arendajale paindlikke tööriistu Erlangi maailmast Go keeles hajutatud lahenduste loomiseks, kasutades valmis üldotstarbelisi disainimustreid gen.Application, gen.Supervisor ja gen.Server, aga ka spetsialiseeritud - gen. Stage (hajutatud pub/sub), gen.Saga (levitatud tehingud, SAGA disainimustri teostus) ja gen.Raft (Raft protokolli rakendus).

Lisaks pakub raamistik puhverserveri funktsioone koos täieliku krüptimisega, mis pole Erlang/OTP ja Elixiri puhul saadaval. Kuna Go-keelel pole Erlangi protsessi otsest analoogi, kasutab raamistik erandolukordade lahendamiseks gen.Serveri alusena gorutiinid koos "taastamise" ümbrisega. Projekti koodi levitatakse MIT litsentsi all.

ErgoFrameworki võrgupinn rakendab täielikult Erlangi protokolli DIST-spetsifikatsiooni. See tähendab, et ErgoFrameworki alusel kirjutatud rakendused töötavad natiivselt kõigi Erlangi või Elixiri programmeerimiskeeltes kirjutatud rakendustega (näide interaktsioonist Erlangi sõlmega). Samuti väärib märkimist, et gen.Stage disainimuster on realiseeritud Elixir GenStage spetsifikatsiooni järgi ja ühildub sellega täielikult (rakendusnäide).

Uues väljaandes:

  • Lisatud uued mallid
    • gen.Web on Web API Gateway (tuntud ka kui Backend For Frontend) kujundusmuster. Näide.
    • gen.TCP on mall, mis võimaldab teil rakendada TCP-ühenduse vastuvõtjate kogumit minimaalse vaevaga koodi kirjutamisel. Näide.
    • gen.UDP – sarnane gen.TCP mallile, ainult UDP protokolli jaoks. Näide.
  • Välja on pakutud uus sündmuste funktsionaalsus koos lihtsa sündmuste siini juurutamisega sõlme sees, mis võimaldab luua mehhanisme sündmuste (pub/sub) vahetamiseks kohalike protsesside vahel. Näide.
  • Lisatud tüübi registreerimise tugi, mis võimaldab sõnumite automaatset serialiseerimist/deserialiseerimist natiivseks Golangi andmetüübiks. See tähendab, et te ei pea enam iga vastuvõetud sõnumi jaoks kasutama etf.TermIntoStructi. Registreeritud tüübid teisendatakse automaatselt määratud tüübiks, mis kiirendab oluliselt hajutatud sõlmede vahelist sõnumivahetust.

Allikas: opennet.ru

Lisa kommentaar