Lanzamento do framework para a creación de aplicacións de rede ErgoFramework 2.2

Lanzouse ErgoFramework 2.2, unha implementación para Go da pila de redes completa de Erlang e a súa biblioteca OTP. O framework proporciona aos desenvolvedores un conxunto de ferramentas Erlang flexible para crear solucións distribuídas en Go usando os patróns de deseño de propósito xeral listos para usar gen.Application, gen.Supervisor e gen.Server, así como outros especializados: gen.Stage (pub/sub distribuído), gen.Saga (transaccións distribuídas, unha implementación do patrón de deseño SAGA) e gen.Raft (unha implementación do protocolo Raft).

Ademais, a estrutura proporciona funcionalidade de proxy con cifrado de extremo a extremo, que non está dispoñible en Erlang/OTP nin en Elixir. Dado que Go carece dun equivalente directo do proceso de Erlang, a estrutura usa goroutines como base para gen.Server cun envoltorio "recover" para xestionar excepcións. O código do proxecto distribúese baixo a licenza MIT.

A pila de rede ErgoFramework implementa completamente a especificación do protocolo Erlang DIST. Isto significa que as aplicacións escritas con ErgoFramework interactúan de forma nativa con calquera aplicación escrita en Erlang ou Elixir (ver exemplo de interacción cun nodo Erlang). Tamén cómpre sinalar que o patrón de deseño gen.Stage impleméntase segundo a especificación Elixir GenStage e é totalmente compatible con ela (ver exemplo de implementación).

Na nova versión:

  • Engadíronse novos modelos
    • gen.Web é un patrón de deseño de Web API Gateway (tamén coñecido como Backend para Frontend). Exemplo.
    • gen.TCP é un modelo que che permite implementar un conxunto de aceptadores de conexións TCP cun esforzo de codificación mínimo. Exemplo.
    • gen.UDP: semellante ao modelo gen.TCP, só que para o protocolo UDP. Exemplo.
  • Proponse unha nova funcionalidade de Eventos, que implementa un bus de eventos sinxelo dentro dun nodo, o que permite a creación de mecanismos de intercambio de eventos pub/sub entre procesos locais. Exemplo.
  • Engadiuse compatibilidade co rexistro de tipos, o que permite a serialización/deserialización automática de mensaxes en tipos de datos Golang nativos. Isto significa que xa non é necesario usar etf.TermIntoStruct para cada mensaxe recibida. Os tipos rexistrados transformaranse automaticamente no tipo especificado, o que acelerará significativamente o rendemento do intercambio de mensaxes entre nodos distribuídos.

Fonte: opennet.ru

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster