Tento framework je implementáciou konceptov Erlangu pre vývoj v jazyku Go, postavený na modeli aktérov s transparentnosťou siete a hotovými komponentmi.
Kľúčové vlastnosti v tejto verzii
- mTLS — nové rozhranie gen.CertAuthManager pre vzájomné overovanie so správou poolu CA
- Prechod NAT — Možnosti RouteHost a RoutePort pre uzly za NAT alebo vyrovnávačmi záťaže
- Ovládanie času spustenia — InitTimeout obmedzuje čas inicializácie procesov (lokálne aj vzdialene)
- Časový limit vypnutia - riadené ukončenie uzlov so zaznamenávaním zaseknutých procesov
- štítky pprof — každá goroutina aktéra je označená PID pre ladenie cez pprof
Noví herci (Extra knižnica)
- Vodca — distribuované voľby lídrov s konsenzom v štýle Raft. Automatické prepnutie na záložný systém, ochrana proti rozdeleniu mozgu prostredníctvom väčšinového kvóra.
- Metrics — Exportér metrík Prometheus s automatickým zberom telemetrie uzlov a siete
Nové metaprocesy
- SSE (Server-Sent Events) je jednosmerné streamovanie medzi serverom a klientom cez HTTP s plnou podporou špecifikácie SSE.
produktivita
- Lokálne: 21 miliónov+ správ/sek.
- V sieti: ~5 miliónov správ/s
- Distribuované vydavateľstvo/subverné: 2.9 milióna správ/s doručenie 1 000 000 odberateľom na 10 uzloch (10 sieťových správ namiesto 1 milióna)
rektifikácia
- Kritická chyba: Ukončenia Link/Monitor boli nesprávne zamietnuté z dôvodu nesprávnej validácie inkarnácie v sieťovej vrstve.
Záznamy
Úplne prepísané a zahrnuté do repozitára. Nové články:
- Štruktúra projektu – organizovanie projektov s úrovňami izolácie správ
- Vytvorenie klastra - Podrobný návod na distribuované systémy
- Verzionovanie správ – vývoj zmlúv o správach v klastroch
- Ladenie — zostavovanie značiek, pprof, ladenie zamrznutých procesov
referencie
- Príklady: https://github.com/ergo-services/examples
- Referenčné hodnoty: https://github.com/ergo-services/benchmarks
- Úložisko: https://github.com/ergo-services/ergo
- Website: https://ergo.services
Zdroj: linux.org.ru
