Kuburitswa kwechimiro chekugadzira network application ErgoFramework 2.2

Kuburitswa kunotevera kweErgoFramework 2.2 kwakaitika, kushandisa yakazara Erlang network stack neraibhurari yayo yeOTP mumutauro weGo. Iyo dhizaini inopa mugadziri zvishandiso zvinochinjika kubva kunyika yeErlang yekugadzira mhinduro dzakaparadzirwa mumutauro weGo uchishandisa yakagadzirira-yakagadzirwa general-chinangwa dhizaini mapatani gen.Application, gen.Supervisor uye gen.Server, pamwe neakasarudzika - gen. Nhanho (yakagoverwa pub / sub), gen. Saga (kugoverwa kwekutengeserana, kushandiswa kweSAGA design pattern) uye gen.Raft (kushandiswa kweRaft protocol).

Uye zvakare, iyo dhizaini inopa kushanda kweproxy nekuguma-kusvika-kumagumo encryption, iyo isingawanikwe muErlang/OTP uye Elixir. Sezvo mutauro weGo usina analogue yakananga yeErlang process, iyo framework inoshandisa goroutines sehwaro hwegen.Server ine β€œkudzoreredza” wrapper kubata kunze kwemamiriro ezvinhu. Iyo kodhi yeprojekiti yakagoverwa pasi peMIT rezinesi.

Iyo network stack muErgoFramework inoshandisa zvizere DIST yakatarwa yeErlang protocol. Izvi zvinoreva kuti zvikumbiro zvakanyorwa pahwaro hweErgoFramework zvinoshanda zvekuzvarwa nechero zvikumbiro zvakanyorwa muErlang kana Elixir programming mitauro (muenzaniso wekudyidzana neErlang node). Zvakakoshawo kuziva kuti gen.Stage design pattern inoshandiswa maererano neElixir GenStage tsanangudzo uye inonyatsoenderana nayo (muenzaniso wekuita).

Mukuburitswa kutsva:

  • Matemplate matsva akawedzerwa
    • gen.Web iWebhu API Gedhi (inozivikanwawo seBackend For Frontend) dhizaini patani. Muenzaniso.
    • gen.TCP template inokubvumira kuti ushandise dziva reTCP yekubatanidza vanogamuchira nekuedza kushoma mukunyora kodhi. Muenzaniso.
    • gen.UDP - yakafanana negen.TCP template, chete yeUDP protocol. Muenzaniso.
  • Kushanda kweZviitiko kutsva kwakakurudzirwa nekuitwa kwebhazi rakareruka rechiitiko mukati me node, iyo inokutendera iwe kugadzira michina yekutsinhana zviitiko (pub/sub) pakati pemaitiro emuno. Muenzaniso.
  • Yakawedzerwa rutsigiro rwekunyoresa mhando, iyo inobvumira otomatiki serialization / deserialization yemameseji mune yerudzi rweGolang data. Izvi zvinoreva kuti hauchadi kushandisa etf.TermIntoStruct kune meseji yese yakagamuchirwa. Mhando dzakanyoreswa dzichashandurwa kuita iyo yakatsanangurwa mhando otomatiki, iyo inomhanyisa zvakanyanya kuita kwekuchinjana meseji pakati penodhi dzakagoverwa.

Source: opennet.ru

Voeg