Toimus ErgoFramework 2.2 uus väljaanne, mis rakendab täieliku Erlangu võrgu stäki ja selle OTP teeki Go keeles. Raamistik pakub arendajale paindlikku tööriistakomplekti Erlangi maailmast ja võimaldab luua jaotatud lahendusi Go keeles, kasutades üldotstarbelisi disainimalle gen.Application, gen.Supervisor ja gen.Server, samuti spetsialiseeritud — gen.Stage (jaotatud pub/sub), gen.Saga (jaotatud tehingud, SAGA disainimalli rakendamine) ja gen.Raft (Rafti protokolli rakendamine).
Lisaks sellele pakub raamistik proxifunktsionaalsust lõpuni krüptimise võimalustega, mis pole saadaval Erlangu/OTP ja Elixiri puhul. Kuna Go keeles puudub otsene analoog Erlangi protsessile, kasutatakse raamistikus goroutine'e gen.Server'i aluseks koos 'recover' mähisega, et võimaldada erandite töötlemist. Projekti koodit jagatakse MIT litsentsi all.
ErgoFrameworki võrgustiku stack rakendab täielikult DIST protokolli Erlang spetsiifikatsiooni. See tähendab, et ErgoFrameworki alusel kirjutatud rakendused töötavad natiivsete suhted igasuguste rakendustega, mis on kirjutatud Erlang või Elixir programmeerimiskeeltes (näide suhtlemisest Erlang sõlmega). Samuti tasub märkida, et gen.Stage disainimuster on ellu viidud Elixir GenStage spetsiifikatsiooni järgi ja on selle täielikult kooskõlas (näide rakendusest).
Uues väljaandes:
- Uued mallid on lisatud
- gen.Web — Web API Gateway disainimuster (tuntud ka kui Backend For Frontend). Näide.
- gen.TCP — mall, mis võimaldab rakendada TCP ühenduste vastuvõtjate tiiki minimaalse koodikirjutamise vaeva. Näide.
- gen.UDP — sarnane gen.TCP mallile, kuid UDP protokolli jaoks. Näide.
- Pakutud on uus funktsionaalsus Events koos lihtsa sündmuste bussiga sõlmes, mis võimaldab luua sündmuste vahetuse mehhanisme (pub/sub) kohalike protsesside vahel. Näide.
- Registreeritud tüüpide toetamine, mis võimaldab automaatselt teostada sõnumite serialiseerimist/deserialiseerimist Golangi natiivsetesse andmetüüpi. See tähendab, et etf.TermIntoStruct'i kasutamine iga saadud sõnumi jaoks ei ole enam vajalik. Registreeritud tüübid muundatakse automaatselt määratud tüübiks, mis kiirendab märkimisväärselt sõnumivahetuse jõudlust jaotatud sõlmede vahel.
Allikas: opennet.ru
