Nova versão do framework para criação de aplicações de rede Ergo 1.2

Após um ano de desenvolvimento, o framework Ergo 1.2 foi lançado, implementando toda a pilha de rede Erlang e sua biblioteca OTP na linguagem Go. A estrutura fornece ao desenvolvedor ferramentas flexíveis do mundo de Erlang para a criação de soluções distribuídas na linguagem Go usando padrões de design de Aplicativo, Supervisor e GenServer prontos. Como a linguagem Go não possui um análogo direto do processo Erlang, o framework usa goroutines como base para o GenServer com um wrapper de recuperação para lidar com situações de exceção. O código do projeto é distribuído sob a licença do MIT.

Na nova versão:

  • Implementado suporte para TLS 1.3 com capacidade de gerar automaticamente certificados autoassinados (se for necessário criptografar conexões, mas não há necessidade de autorizá-lo, pois a conexão utiliza um cookie para fornecer acesso ao host)
  • Adicionado roteamento estático para eliminar a necessidade de depender do EPMD para determinar a porta do host. Isto resolve o problema de segurança e, juntamente com a criptografia, possibilita a execução de um cluster Erlang em redes públicas.
  • Adicionado um novo modelo GenStage (do mundo Elixir), que permite criar soluções Pub/Sub sem usar o Message Bus. Uma das características importantes deste modelo é o “controle de contrapressão”. O “Produtor” entregará exatamente o volume de mensagens solicitado pelo “Consumidor”. Um exemplo de implementação pode ser encontrado aqui.

A seção de discussão discute a implementação do padrão de design SAGAS que implementa a funcionalidade de transações distribuídas.

Fonte: opennet.ru

Adicionar um comentário