Egy év fejlesztés után megjelent az Ergo 1.2-es keretrendszer, amely a teljes Erlang hálózati stacket és annak OTP-könyvtárát Go nyelven implementálta. A keretrendszer rugalmas eszközöket biztosít a fejlesztő számára az Erlang világából, hogy elosztott megoldásokat készíthessen Go nyelven, kész Application, Supervisor és GenServer tervezési minták segítségével. Mivel a Go nyelvnek nincs közvetlen analógja az Erlang folyamattal, a keretrendszer gorutinokat használ a GenServer alapjaként egy helyreállítási wrapperrel a kivételes helyzetek kezelésére. A projekt kódját az MIT licence alatt terjesztik.
Az új kiadásban:
- Megvalósított TLS 1.3 támogatás, amely lehetővé teszi az önaláírt tanúsítványok automatikus generálását (ha titkosítania kell a kapcsolatokat, de nincs szükség engedélyezésre, mivel a kapcsolat cookie-t használ a gazdagéphez való hozzáféréshez)
- Statikus útválasztás hozzáadva, hogy ne kelljen EPMD-re támaszkodni a gazdagép port meghatározásához. Ez megoldja a biztonsági problémát, és a titkosítással együtt lehetővé teszi az Erlang-fürt futtatását nyilvános hálózatokon.
- Hozzáadott egy új GenStage sablont (az Elixir világból), amely lehetővé teszi Pub/Sub megoldások létrehozását az Message Bus használata nélkül. Ennek a sablonnak az egyik fontos jellemzője az „ellennyomás szabályozás”. A „Producer” pontosan annyi üzenetet szállít, amennyit a „Fogyasztó” kért. A megvalósítási példa itt található.
A vitarész az elosztott tranzakciós funkcionalitást megvalósító SAGAS tervezési minta megvalósítását tárgyalja.
Forrás: opennet.ru