Nové vydání rámce pro vývoj síťových aplikací Ergo 1.2

Po roce vývoje byl vydán rámec Ergo 1.2, který implementuje kompletní síťový zásobník Erlang a jeho knihovnu OTP v jazyce Go. Rámec poskytuje vývojářům flexibilní nástroje ze světa Erlang pro vytváření distribuovaných řešení v jazyce Go pomocí předpřipravených návrhových vzorů Application, Supervisor a GenServer. Vzhledem k tomu, že jazyk Go nemá přímou analogii k procesu Erlang, je v rámci používána goroutine jako základ pro GenServer s obálkou recover pro možnost zpracování výjimečných situací. Kód projektu je šířen pod licencí MIT.

V novém vydání:

  • Byla implementována podpora TLS 1.3 s možností automatického generování self-signed certifikátů (pokud je potřeba šifrovat spojení, ale není potřeba jeho autorizace, protože připojení používá cookie k poskytnutí přístupu k uzlu)
  • Byla přidána statická routa, aby se vyloučilo volání EPMD pro určení portu uzlu. To řeší bezpečnostní problémy a spolu se šifrováním umožňuje spouštět klastr Erlang v veřejných sítích.
  • Byl přidán nový vzor GenStage (ze světa Elixir), který umožňuje vytvářet Pub/Sub řešení bez použití Message Bus. Jedním z důležitých rysů tohoto vzoru je „backpressure control“. „Producer“ dodá přesně tolik zpráv, kolik bylo požadováno „Consumerem.“ Příklad realizace si můžete prohlédnout zde.

V sekci diskuzí se probírá realizace návrhového vzoru SAGAS, který implementuje funkčnost distribuovaných transakcí.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster