Ny version av ramverket för att skapa nätverksapplikationer Ergo 1.2

Efter ett års utveckling släpptes ramverket Ergo 1.2 och implementerade hela Erlang-nätverksstacken och dess OTP-bibliotek i Go-språket. Ramverket förser utvecklaren med flexibla verktyg från Erlangs värld för att skapa distribuerade lösningar i Go-språket med hjälp av färdiga applikations-, supervisor- och GenServer-designmönster. Eftersom Go-språket inte har en direkt analog till Erlang-processen, använder ramverket goroutiner som grund för GenServer med ett återställningsskydd för att hantera undantagssituationer. Projektkoden distribueras under MIT-licensen.

I den nya utgåvan:

  • Implementerat stöd för TLS 1.3 med möjlighet att automatiskt generera självsignerade certifikat (om det är nödvändigt att kryptera anslutningar, men det finns inget behov av att auktorisera det, eftersom anslutningen använder en cookie för att ge åtkomst till värden)
  • Lade till statisk routing för att eliminera behovet av att lita på EPMD för att fastställa värdporten. Detta löser säkerhetsproblemet och gör det tillsammans med kryptering möjligt att köra ett Erlang-kluster på publika nätverk.
  • Lade till en ny GenStage-mall (från Elixir-världen), som låter dig skapa Pub/Sub-lösningar utan att använda Message Bus. En av de viktiga funktionerna i denna mall är "mottryckskontroll". "Producer" kommer att leverera exakt den mängd meddelanden som efterfrågades av "Consumer". Ett exempel på implementering finns här.

Diskussionssektionen diskuterar implementeringen av SAGAS designmönster som implementerar distribuerad transaktionsfunktionalitet.

Källa: opennet.ru

Lägg en kommentar