Tento framework je implementací konceptů Erlangu pro vývoj v jazyce Go, postavenou na aktorovém modelu s transparentností sítě a hotovými komponentami.
Klíčové vlastnosti v této verzi
- mTLS — nové rozhraní gen.CertAuthManager pro vzájemné ověřování se správou poolu certifikačních autorit
- Průchod NAT — Možnosti RouteHost a RoutePort pro uzly za NAT nebo vyvažovači zátěže
- Řízení času spuštění — InitTimeout omezuje dobu inicializace procesů (lokálně i vzdáleně)
- Časový limit vypnutí - řízené ukončení uzlu s protokolováním zablokovaných procesů
- štítky pprof — každá goroutina aktéra je označena PID pro ladění pomocí pprof
Noví herci (Extra knihovna)
- Vůdce — distribuované volby vedoucích pracovníků s konsensem ve stylu Raftu. Automatické přepnutí na další operace, ochrana proti selhání prostřednictvím většinového kvora.
- Metrics — Exportér metrik Prometheus s automatickým sběrem telemetrie uzlů a sítě
Nové metaprocesy
- SSE (Server-Sent Events) je jednosměrné streamování mezi serverem a klientem přes HTTP s plnou podporou specifikace SSE.
Производительность
- Lokálně: 21 milionů+ zpráv/s
- V síti: ~5 milionů zpráv/s
- Distribuované vydavatelství/subversiony: 2.9 milionu zpráv/s doručení 1 000 000 odběratelům na 10 uzlech (10 síťových zpráv místo 1 milionu)
Opravy
- Kritická chyba: Ukončení Link/Monitor byly nesprávně odmítnuty kvůli nesprávnému ověření inkarnace v síťové vrstvě.
Документация
Kompletně přepsáno a zahrnuto do repozitáře. Nové články:
- Struktura projektu – organizace projektů s úrovněmi izolace zpráv
- Vytvoření clusteru - Podrobný průvodce distribuovanými systémy
- Verzování zpráv – vývoj kontraktů zpráv v klastrech
- Ladění — tagy sestavení, pprof, ladění zamrzlých procesů
reference
- Příklady: https://github.com/ergo-services/examples
- Referenční hodnoty: https://github.com/ergo-services/benchmarks
- úložiště: https://github.com/ergo-services/ergo
- Webové stránky: https://ergo.services
Zdroj: linux.org.ru
