ネットワーク アプリケーション作成用フレームワーク Ergo 1.2 の新リリース

1.2 年の開発の後、Ergo XNUMX フレームワークがリリースされ、完全な Erlang ネットワーク スタックとその OTP ライブラリが Go 言語で実装されました。 このフレームワークは、既製のアプリケーション、スーパーバイザー、および GenServer 設計パターンを使用して Go 言語で分散ソリューションを作成するための Erlang の世界からの柔軟なツールを開発者に提供します。 Go 言語には Erlang プロセスに直接似たものがないため、フレームワークは例外状況を処理するためにリカバリ ラッパーを備えた GenServer の基礎としてゴルーチンを使用します。 プロジェクト コードは MIT ライセンスに基づいて配布されます。

新しいリリースでは:

  • 自己署名証明書を自動的に生成する機能を備えた TLS 1.3 のサポートを実装しました (接続を暗号化する必要があるが、接続では Cookie を使用してホストへのアクセスを提供するため、認証する必要がない場合)
  • 静的ルーティングを追加して、EPMD に依存してホスト ポートを決定する必要がなくなりました。 これによりセキュリティ問題が解決され、暗号化と合わせてパブリック ネットワーク上で Erlang クラスターを実行できるようになります。
  • 新しい GenStage テンプレート (Elixir ワールドから) が追加されました。これにより、メッセージ バスを使用せずに Pub/Sub ソリューションを作成できるようになります。 このテンプレートの重要な機能の XNUMX つは「バックプレッシャー制御」です。 「プロデューサー」は、「コンシューマー」によって要求された量のメッセージを正確に配信します。 実装例はここにあります。

ディスカッション セクションでは、分散トランザクション機能を実装する SAGAS 設計パターンの実装について説明します。

出所: オープンネット.ru

コメントを追加します