Toimus jĂ€rgmine vĂ€ljaanne ErgoFramework 2.2, mis realiseerib tĂ€ieliku vĂ”rgu steki Erlang ja selle raamatukogu OTP programmeerimiskeeles Go. Raamistik pakub arendajale paindlikku tööriistakasti Erlangi maailmast, et luua jaotatud lahendusi Go keeles, kasutades valmis ĂŒldotstarbelisi disainimustreid gen.Application, gen.Supervisor ja gen.Server, samuti spetsialiseeritud mudeleid â gen.Stage (jaotatud pub/sub), gen.Saga (jaotatud tehingud, SAGA disainimustri realiseerimine) ja gen.Raft (Rafti protokolli realiseerimine).
Lisaks sellele pakub raamistik proksifunktsionaalsust vĂ”imalusega lĂ”pust lĂ”puni krĂŒpteerida, mis ei ole saadaval Erlang/OTP ja Elixir'is. Kuna Go keeles puudub otse analoog Erlangi protsessile, kasutatakse raamistikus goroutine'e gen.Serveri pĂ”hina koos «recover» ĂŒmbervĂ”tuga erandolukordade kĂ€sitlemiseks. Projekti kood on litsentsitud MIT litsentsi alla.
VĂ”rgu stek ErgoFramework'is realiseerib tĂ€ielikult DIST protokolli Erlangi spetsifikatsiooni. See tĂ€hendab, et rakendused, mis on loodud ErgoFrameworki pĂ”hjal, töötavad natiivselt koos mis tahes rakenduste, mis on kirjutatud Erlangi vĂ”i Elixiri programmeerimiskeeltes (nĂ€ide koostööst Erlangi sĂ”lmega). Samuti tasub mainida, et gen.Stage disainimuster on realiseeritud Elixiri GenStage'i spetsifikatsiooni kohaselt ja on tĂ€ielikult ĂŒhilduv sellega (nĂ€ide realiseerimisest).
Uues vÀljaandes:
- Uued mustrid on lisatud
- gen.Web â Web API Gateway disainimuster (tuntud ka kui Backend For Frontend). NĂ€ide.
- gen.TCP â muster, mis vĂ”imaldab ellu viia TCP ĂŒhenduste aksepteerijate paari kirjutamise aega miinimumini. NĂ€ide.
- gen.UDP â sarnaneb gen.TCP mustrile, kuid UDP protokolli jaoks. NĂ€ide.
- Uus funktsionaalsus Events on pakutud lihtsa sĂŒndmuste bussina, mis on rakendatud sĂ”lmes, vĂ”imaldades luua sĂŒndmuste vahetamise mehhanisme (pub/sub) kohalike protsesside vahel. NĂ€ide.
- Lisatud on tĂŒĂŒbi registreerimise tugi, mis vĂ”imaldab automaatselt teostada sĂ”numite serialiseerimist/deserialiseerimist Golangi natiivsetesse andmetĂŒĂŒpidesse. See tĂ€hendab, et ei pea enam igaks saadetud sĂ”numiks kasutama etf.TermIntoStruct. Registreeritud tĂŒĂŒbid muundatakse automaatselt mÀÀratud tĂŒĂŒbiks, mis kiirus mĂ€rgatavalt suurendab sĂ”numite vahetust jaotatud sĂ”lmede vahel.
Allikas: opennet.ru
