Nach einem Jahr Entwicklung wurde das Framework Ergo 1.2 veröffentlicht, das den vollstĂ€ndigen Netzwerk-Stack von Erlang und seine OTP-Bibliothek in der Programmiersprache Go implementiert. Das Framework bietet Entwicklern ein flexibles Toolkit aus der Welt von Erlang, um verteilte Lösungen in Go mit Hilfe fertiger Entwurfsmuster wie Application, Supervisor und GenServer zu erstellen. Da es in Go kein direktes Ăquivalent zum Erlang-Prozess gibt, werden im Framework goroutines als Grundlage fĂŒr GenServer verwendet, mit einer recover-Wrap zur Möglichkeit der Exception-Handling. Der Code des Projekts wird unter der MIT-Lizenz veröffentlicht.
In der neuen Version:
- TLS 1.3-UnterstĂŒtzung wurde implementiert, mit der Möglichkeit zur automatischen Generierung von selbstsignierten Zertifikaten (wenn eine VerschlĂŒsselung der Verbindungen erforderlich ist, jedoch keine Authentifizierung notwendig ist, da die Verbindung Cookies zur GewĂ€hrung des Zugriffs auf den Knoten verwendet).
- Statische Routing-UnterstĂŒtzung wurde hinzugefĂŒgt, um den Aufruf von EPMD zur Bestimmung des Knotensports auszuschlieĂen. Dies löst Sicherheitsprobleme und ermöglicht zusammen mit der VerschlĂŒsselung den Betrieb eines Erlang-Clusters in öffentlichen Netzwerken.
- Ein neues GenStage-Muster (aus der Welt von Elixir) wurde hinzugefĂŒgt, das es ermöglicht, Pub/Sub-Lösungen ohne einen Message Bus zu erstellen. Eine der wichtigen Eigenschaften dieses Musters ist die 'Backpressure Control'. Der 'Producer' liefert genau die Menge an Nachrichten, die vom 'Consumer' angefordert wurde. Ein Beispiel fĂŒr die Implementierung ist hier zu sehen.
Im Diskussionsbereich wird die Implementierung des Entwurfsmusters SAGAS besprochen, welches die FunktionalitÀt verteilter Transaktionen realisiert.
Quelle: opennet.ru
