Release van het framework voor het maken van netwertoepassingen ErgoFramework 2.2

De nieuwste release van ErgoFramework 2.2 is aangekondigd, die de volledige netwerkstack van Erlang en zijn OTP-bibliotheek in de programmeertaal Go implementeert. Het framework biedt ontwikkelaars een flexibele set tools uit de wereld van Erlang voor het creĆ«ren van gedistribueerde oplossingen in Go met behulp van kant-en-klare ontwerpsjablonen zoals gen.Application, gen.Supervisor en gen.Server, evenals gespecialiseerde sjablonen — gen.Stage (gedistribueerde pub/sub), gen.Saga (gedistribueerde transacties, implementatie van het SAGA-ontwerpsjabloon) en gen.Raft (implementatie van het Raft-protocol).

Daarnaast biedt het framework proxy-functionaliteit met het mogelijk maken van end-to-end encryptie, wat niet beschikbaar is in Erlang/OTP en Elixir. Aangezien er in Go geen directe analogie is voor het Erlang-proces, worden goroutines in het framework gebruikt als basis voor gen.Server, met een 'recover' wrapper voor foutafhandeling. De code van het project wordt verspreid onder de MIT-licentie.

De netwerkstack in ErgoFramework implementeert volledig de DIST-protocolspecificatie van Erlang. Dit betekent dat applicaties die zijn geschreven op basis van ErgoFramework native werken met elke applicatie die is geschreven in de programmeertalen Erlang of Elixir (voorbeeld van interactie met een Erlang-node). Verder valt op te merken dat het gen.Stage-ontwerpsjabloon is geĆÆmplementeerd volgens de Elixir GenStage-specificatie en volledig compatibel is hiermee (voorbeeldimplementatie).

In de nieuwe release:

  • Nieuwe sjablonen toegevoegd
    • gen.Web — ontwerpsjabloon voor Web API Gateway (ook bekend als Backend For Frontend). Voorbeeld.
    • gen.TCP — sjabloon dat het mogelijk maakt een pool van TCP-acceptors te implementeren met minimale code-inspanning. Voorbeeld.
    • gen.UDP — vergelijkbaar met de gen.TCP-sjabloon, maar voor het UDP-protocol. Voorbeeld.
  • Een nieuwe Events-functionaliteit is geĆÆntroduceerd met de implementatie van een eenvoudige evenementenbus binnen de node, die het mogelijk maakt om mechanisms voor evenementuitwisseling (pub/sub) tussen lokale processen te creĆ«ren. Voorbeeld.
  • Ondersteuning voor typeregistratie is toegevoegd, waarmee berichten automatisch kunnen worden geserialized/deserialized naar het native gegevenstype van Golang. Dit betekent dat het niet langer nodig is om etf.TermIntoStruct voor elk ontvangen bericht te gebruiken. Geregistreerde types worden automatisch omgevormd tot het opgegeven type, wat de prestaties van de berichtuitwisseling tussen gedistribueerde nodes aanzienlijk versnelt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster