用於建立網頁應用程式 Ergo 1.2 的新版本框架

經過一年的開發,Ergo 1.2 框架發布了,用 Go 語言實作了完整的 Erlang 網路堆疊及其 OTP 函式庫。該框架為開發人員提供了來自 Erlang 世界的靈活工具,用於使用現成的應用程式、Supervisor 和 GenServer 設計模式以 Go 語言建立分散式解決方案。由於 Go 語言沒有 Erlang 進程的直接類似物,因此該框架使用 goroutine 作為 GenServer 的基礎,並帶有恢復包裝器來處理異常情況。此專案代碼是根據 MIT 許可證分發的。

在新版本中:

  • 實現了對 TLS 1.3 的支持,能夠自動產生自簽名憑證(如果您需要加密連接,但無需授權,因為連接使用 cookie 來提供對主機的存取)
  • 新增了靜態路由,無需依賴 EPMD 來確定主機連接埠。這解決了安全性問題,並且與加密一起,使得在公共網路上運行 Erlang 叢集成為可能。
  • 新增了新的 GenStage 範本(來自 Elixir 世界),它允許您在不使用訊息總線的情況下建立 Pub/Sub 解決方案。此模板的重要功能之一是「背壓控制」。 「生產者」將準確交付「消費者」所要求的訊息量。可以在此處找到範例實作。

討論部分討論了實現分散式事務功能的 SAGAS 設計模式的實現。

來源: opennet.ru

添加評論