Korneli përfaqëson një implementim të koncepteve Erlang për zhvillimin në Go, i ndërtuar mbi modelin e aktorëve me transparencë rrjeti dhe componente të gatshme.
Karakteristikat kryesore në këtë version
- mTLS â interfaci i ri gen.CertAuthManager pĂ«r autentifikimin e ndĂ«rsjellĂ« me menaxhimin e grupeve CA
- NAT traversal â opsionet RouteHost dhe RoutePort pĂ«r nodet pas NAT ose balancuesve
- Kontrolli i kohĂ«s sĂ« fillimit â InitTimeout kufizon kohĂ«n e inicializimit tĂ« proceseve (lokalisht dhe nĂ« distancĂ«)
- Shutdown timeout â pĂ«rfundimi i kontrolluar i nodit me regjistrimin e proceseve tĂ« ngecura
- pprof labels â çdo goroutine aktori etiketizohet me PID pĂ«r debugging pĂ«rmes pprof
Aktorë të rinj (Biblioteka Shtesë)
- Leader â zgjedhje tĂ« shpĂ«rndara pĂ«r liderin me konsensus nĂ« stilin Raft. Failover automatik, mbrojtje nga split-brain pĂ«rmes kuorumit tĂ« shumicĂ«s
- Metrics â eksportues metricash Prometheus me mbledhje automatike tĂ« telemetrisĂ« sĂ« nodit dhe rrjetit
Procese të reja meta
- SSE (Ngjarjet e DĂ«rguara nga Serveri) â streaming njĂ« drejtim server-klient pĂ«rmes HTTP me mbĂ«shtetje tĂ« plotĂ« pĂ«r specifikimin SSE
Performanca
- Lokal: 21M+ mesazhe/sek
- NĂ« rrjet: ~5M mesazhe/sek
- Distribuar Pub/Sub: 2.9M mesazhe/sek dërgimi i 1,000,000 abonentëve në 10 node (10 mesazhe rrjeti në vend të 1M)
Korrigjime
- Buga kritik: sinjalet e përfundimit (Link/Monitor exits) u refuzuan në mënyrë të papërshtatshme për shkak të validimit të gabuar të incarnations në shtresën rrjet.
Dokumentacioni
Rishkruar plotësisht dhe përfshirë në depo. Artikuj të rinj:
- Struktura e Projektit â organizimi i projekteve me nivele izolimi mesazhesh
- NdĂ«rtimi i njĂ« Kluseteri â udhĂ«zimi hap pas hapi pĂ«r sistemet e shpĂ«rndara
- Versionimi i Mesazheve â evolucioni i kontratave tĂ« mesazheve nĂ« klustera
- Debugging â etiketat e ndĂ«rtimit, pprof, debugging i proceseve tĂ« ngecura
Linket
- Shembuj: https://github.com/ergo-services/examples
- Benchmark-et: https://github.com/ergo-services/benchmarks
- Repozitori: https://github.com/ergo-services/ergo
- Faqja: https://ergo.services
Burimi: linux.org.ru
