Tso tawm lub moj khaum rau kev tsim cov ntawv thov network ErgoFramework 2.2

Qhov kev tso tawm tom ntej ntawm ErgoFramework 2.2 tau tshwm sim, ua kom tiav Erlang network pawg thiab nws lub tsev qiv ntawv OTP hauv Go lus. Lub moj khaum muab tus tsim tawm nrog cov cuab yeej hloov tau los ntawm lub ntiaj teb ntawm Erlang rau kev tsim cov kev daws teeb meem hauv Go lus siv cov qauv tsim qauv tsim qauv gen.Application, gen.Supervisor thiab gen.Server, nrog rau cov tshwj xeeb - gen. Theem (distributed pub/sub), gen. Saga (distributed transactions, an implementation of the SAGA design pattern) thiab gen.Raft (ib qho kev siv ntawm Raft raws tu qauv).

Tsis tas li ntawd, lub moj khaum muab kev tso cai ua haujlwm nrog qhov kawg-rau-kawg encryption, uas tsis muaj nyob hauv Erlang / OTP thiab Elixir. Txij li cov lus Go tsis muaj qhov ncaj qha analogue ntawm tus txheej txheem Erlang, lub moj khaum siv goroutines ua lub hauv paus rau gen.Server nrog "rov qab" wrapper los daws cov xwm txheej tshwj xeeb. Txoj haujlwm code raug faib raws li daim ntawv tso cai MIT.

Lub network pawg hauv ErgoFramework tag nrho siv DIST specification ntawm Erlang raws tu qauv. Qhov no txhais tau hais tias cov ntawv sau npe los ntawm ErgoFramework ua haujlwm ib txwm muaj nrog txhua daim ntawv sau npe hauv Erlang lossis Elixir programming lus (ib qho piv txwv ntawm kev cuam tshuam nrog Erlang node). Nws tseem tsim nyog sau cia tias tus qauv tsim qauv gen.Stage yog siv raws li Elixir GenStage specification thiab ua tiav nrog nws (kev ua piv txwv).

Hauv qhov kev tso tawm tshiab:

  • Cov qauv tshiab ntxiv
    • gen.Web yog Web API Gateway (tseem hu ua Backend For Frontend) tsim qauv. Piv txwv.
    • gen.TCP yog tus qauv uas tso cai rau koj los siv lub pas dej ntawm TCP cov neeg txais kev sib txuas nrog kev siv zog tsawg hauv kev sau cov lej. Piv txwv.
    • gen.UDP - zoo ib yam li gen.TCP template, tsuas yog rau UDP raws tu qauv. Piv txwv.
  • Kev ua haujlwm tshiab Cov Txheej Txheem tau raug npaj nrog kev siv lub tsheb npav yooj yim hauv lub node, uas tso cai rau koj los tsim cov txheej txheem rau kev sib pauv cov xwm txheej (pub / sub) ntawm cov txheej txheem hauv zos. Piv txwv.
  • Ntxiv kev txhawb nqa rau hom sau npe, uas tso cai rau tsis siv neeg serialization / deserialization ntawm cov lus rau hauv hom Golang cov ntaub ntawv. Qhov no txhais tau tias koj tsis tas yuav siv etf.TermIntoStruct rau txhua cov lus tau txais. Cov npe sau npe yuav raug hloov mus rau hom tau teev cia, uas ua rau nrawm nrawm ntawm kev sib pauv lus ntawm cov nodes.

Tau qhov twg los: opennet.ru

Ntxiv ib saib