Megjelent az ErgoFramework 2.2 keretrendszer hálózati alkalmazások készítéséhez

Megérkezett az ErgoFramework 2.2 legújabb verziója, amely teljes Erlang hálózati veremét és OTP könyvtárát implementálja Go nyelven. A keretrendszer rugalmas eszköztárat biztosít a fejlesztőknek az Erlang világából, hogy elosztott megoldásokat készíthessenek Go nyelven, általános célú tervezési sablonokkal, mint például gen.Application, gen.Supervisor és gen.Server, valamint speciálisakkal, mint gen.Stage (elosztott pub/sub), gen.Saga (elosztott tranzakciók, SAGA tervezési minta megvalósítása) és gen.Raft (a Raft protokoll megvalósítása).

Ezen kívül a keretrendszer proxy funkciót is biztosít, végponti titkosítással, ami nem áll rendelkezésre Erlang/OTP és Elixir alatt. Mivel a Go nyelvben nincs közvetlen megfelelője az Erlang folyamatoknak, a keretrendszer goroutine-okat használ gen.Server alapként a "recover" burkoló rendszerrel a kivételes helyzetek kezelésének lehetősége érdekében. A projekt kódja MIT licenc alatt kerül forgalomba.

Az ErgoFramework hálózati verem teljes mértékben megvalósítja az Erlang DIST protokoll specifikációját. Ez azt jelenti, hogy az ErgoFramework alapú alkalmazások natívan működnek bármely, Erlang vagy Elixir nyelveken írt alkalmazással (például a csatlakozás Erlang csomóponttal). Érdemes megjegyezni, hogy a gen.Stage tervezési minta az Elixir GenStage specifikációja szerint készült és teljes mértékben kompatibilis vele (példa megvalósításra).

Az új kiadásban:

  • Új sablonok kerültek hozzáadásra
    • gen.Web — Web API Gateway tervezési minta (más néven Backend For Frontend). Példa.
    • gen.TCP — sablon, amely lehetővé teszi a TCP kapcsolatok elfogadási medencéinek megvalósítását minimális kódírási erőfeszítéssel. Példa.
    • gen.UDP — hasonló a gen.TCP sablonhoz, csak UDP protokollra. Példa.
  • Új Events funkció javasolt, amely egy egyszerű eseménybusz megvalósítását teszi lehetővé a csomóponton belül, lehetővé téve az események (pub/sub) cseréje helyi folyamatok között. Példa.
  • Típusregisztrálás támogatását adtuk hozzá, amely lehetővé teszi az üzenetek natív Golang adattípusra való automatikus sorosítását/desorozását. Ez azt jelenti, hogy többé nem szükséges az etf.TermIntoStruct használata minden beérkező üzenet esetén. A regisztrált típusok automatikusan a megadott típusra lesznek átalakítva, ami jelentősen felgyorsítja az üzenetek cseréjének teljesítményét az elosztott csomópontok között.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster