Lëshimi i kornizës për krijimin e aplikacioneve të rrjetit ErgoFramework 2.2

Publikimi i radhës i ErgoFramework 2.2 u zhvillua, duke zbatuar grupin e plotë të rrjetit Erlang dhe bibliotekën e tij OTP në gjuhën Go. Korniza i ofron zhvilluesit mjete fleksibël nga bota e Erlang për krijimin e zgjidhjeve të shpërndara në gjuhën Go duke përdorur modele të gatshme të dizajnit për qëllime të përgjithshme gen.Application, gen.Supervisor dhe gen.Server, si dhe ato të specializuara - gen. Stage (pub/sub i shpërndarë), gjeneral Saga (transaksione të shpërndara, një zbatim i modelit të projektimit SAGA) dhe gen.Raft (një zbatim i protokollit Raft).

Përveç kësaj, korniza ofron funksionalitet proxy me enkriptim nga fundi në fund, i cili nuk është i disponueshëm në Erlang/OTP dhe Elixir. Meqenëse gjuha Go nuk ka një analog të drejtpërdrejtë të procesit Erlang, korniza përdor gorutinat si bazë për gjenerimin e serverit me një mbështjellës "rikuperimi" për të trajtuar situatat e përjashtimit. Kodi i projektit shpërndahet nën licencën MIT.

Stacki i rrjetit në ErgoFramework zbaton plotësisht specifikimin DIST të protokollit Erlang. Kjo do të thotë që aplikacionet e shkruara në bazë të ErgoFramework funksionojnë në mënyrë origjinale me çdo aplikacion të shkruar në gjuhët e programimit Erlang ose Elixir (një shembull i ndërveprimit me një nyje Erlang). Vlen gjithashtu të theksohet se modeli i dizajnit gen.Stage zbatohet sipas specifikimit Elixir GenStage dhe është plotësisht i pajtueshëm me të (shembulli i zbatimit).

Në publikimin e ri:

  • U shtuan shabllone të rinj
    • gen.Web është një model dizajni i portës së API-së së Uebit (i njohur gjithashtu si Backend For Frontend). Shembull.
    • gen.TCP është një shabllon që ju lejon të implementoni një grup pranuesish lidhjesh TCP me përpjekje minimale për të shkruar kodin. Shembull.
    • gen.UDP - e ngjashme me shabllonin gen.TCP, vetëm për protokollin UDP. Shembull.
  • Një funksionalitet i ri Events është propozuar me zbatimin e një autobusi të thjeshtë ngjarjesh brenda një nyje, i cili ju lejon të krijoni mekanizma për shkëmbimin e ngjarjeve (pub/nën) midis proceseve lokale. Shembull.
  • Mbështetje e shtuar për regjistrimin e tipit, e cila lejon serializimin/deserializimin automatik të mesazheve në një lloj të dhënash vendase Golang. Kjo do të thotë që nuk keni më nevojë të përdorni etf.TermIntoStruct për çdo mesazh të marrë. Llojet e regjistruara do të transformohen automatikisht në llojin e specifikuar, gjë që përshpejton ndjeshëm performancën e shkëmbimit të mesazheve midis nyjeve të shpërndara.

Burimi: opennet.ru

Shto një koment