Ergo Framework 3.2

The framework is an implementation of Erlang concepts for development in Go, built on the actor model with network transparency and ready-made components.

Key features in this version

  • mTLS β€” a new interface gen.CertAuthManager for mutual authentication with CA pool management
  • NAT traversal β€” RouteHost and RoutePort options for nodes behind NAT or load balancers
  • Startup time control β€” InitTimeout limits the initialization time of processes (locally and remotely)
  • Shutdown timeout β€” controlled node shutdown with logging of stuck processes
  • pprof labels β€” each actor goroutine is labeled with PID for debugging via pprof

New actors (Extra Library)

  • Leader β€” distributed leader election with Raft-style consensus. Automatic failover, split-brain protection through majority quorum
  • Metrics β€” Prometheus metrics exporter with automatic collection of node and network telemetry

New meta-processes

  • SSE (Server-Sent Events) β€” one-way server-client streaming over HTTP with full SSE specification support

Performance

  • Locally: 21M+ messages/sec
  • Over the network: ~5M messages/sec
  • Distributed Pub/Sub: 2.9M messages/sec delivered to 1,000,000 subscribers across 10 nodes (10 network messages instead of 1M)

Fixes

  • Critical bug: termination signals (Link/Monitor exits) were incorrectly rejected due to invalid incarnation validation in the network layer

Documentation

Completely rewritten and included in the repository. New articles:

  • Project Structure β€” organizing projects with message isolation levels
  • Building a Cluster β€” step-by-step guide to distributed systems
  • Message Versioning β€” the evolution of message contracts in clusters
  • Debugging β€” build tags, pprof, debugging stuck processes

Links

Source: linux.org.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers πŸ”₯ Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster