After the year of development, took place Release framework ERGO 1.2 that implements the full network stack of Erlang and its OTP library in GO. The framework provides the developer a flexible toolkit from the world of Erlang to create distributed GO solutions using ready-made Application, Supervisor and GenServer design templates. Since in GO language, there is no direct analogue of the ERLANG process, then Goroutine is used in the framework as the base for GenServer with the Recover wrap for the possibility of processing exceptional situations. Project code spreads under license MIT.
In a new release:
- Support for TLS 1.3 with the possibility of autogeneration of self-signed certificates (if you need to encrypt connections, but there is no need for its authorization, since the connection uses a cookie to provide access to the node)
- static routing is added to exclude an EMPD access to the port of the node. This allows you to solve the security problem and together with encryption makes it possible to run the Erlang cluster in public networks.
- Added new genust genstage (from the world of ELIXIR), which allows you to create PUB / SB solutions without using Message Bus. One of the important features of this template is “Backpressure Control”. “PRODUCER” will deliver exactly the volume of messages that was requested by “Consumer.” An example implementation can be viewed here .
In the discussions the design of the design template Sagas , implementing the functionality of distributed transactions.