{"repo":"ergo-services/ergo","free":true,"listed":false,"github":"https://github.com/ergo-services/ergo","clone":"git clone https://github.com/ergo-services/ergo.git","description":"An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies.","language":"Go","stars":4627,"topics":["erlang","golang","elixir","supervisor","otp","otp-applications","distributed-systems","framework","microservice","microservices-architecture"],"license":"MIT","category":"workflow-automation","readme_excerpt":"The Ergo Framework is an implementation of ideas, technologies, and design patterns from the Erlang world in the Go programming language. It is based on the actor model, network transparency, and a set of ready-to-use components for development. This significantly simplifies the creation of complex and distributed solutions while maintaining a high level of reliability and performance. Features ### 1. Actor Model : isolated processes communicate through message passing, handling messages sequentially in their own mailbox with four priority queues. Processes support both asynchronous messaging and synchronous request-response patterns, enabling flexible communication while maintaining the actor model guarantees. 2. Network Transparency : actors interact the same way whether local or remote. The framework uses custom serialization and protocol for efficient distributed communication with connection pooling, compression, and type caching, making network location transparent to application code. 3. Supervision Trees : hierarchical fault recovery where supervisors monitor child processes and apply restart strategies when failures occur. Supports multiple supervision types (One For One, All For One, Rest For One, Simple One For One) and restart strategies (Transient, Temporary, Permanent) for building self-healing systems. 4. Meta Processes : bridge blocking I/O with the actor model through dedicated meta processes that handle TCP, UDP, Port, and Web protocols. Meta processes run b","default_branch":null,"files":null,"tree":[],"storefront":"/r/ergo-services","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ergo-services/ergo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}