辛宝Otto

辛宝Otto 的玄酒清谈

北漂前端程序员儿 / 探索新事物 / Web Worker 主播之一/内向话痨
xiaoyuzhou
email

速通-Laf 云開発プラットフォームとその実装原理

image

Laf 云開発プラットフォームとその実装原理》原文

プラットフォームエンジニアリングオフラインミートアップ北京駅 2023-09-13

Laf は私が非常に好きなクラウドプラットフォームであり、ここでは彼らのオフラインシェアを簡単に紹介します。

製品紹介#

無視

製品デモ#

省略

製品の特徴のまとめ#

即座に使用できるアプリケーションリソースであり、計算リソース、データベースリソース、ログネットワークストレージなど、アプリケーションが必要とするすべてのリソースを提供します。コンピュータ環境や物理環境を含め、環境の準備は必要ありません。

目標は、開発プロセスをできるだけ短縮し、開発の敷居を下げることです。アプリケーションが環境をデプロイするのに 1 日かかる場合、私たちはすでに 1 日でデモを作成し、ユーザーや仲間にテストを提供しています。

オープンソースである姿勢、Laf のすべてのソースコードはオープンソースであり、使用しているコンポーネントもすべてオープンソースであり、いかなるベンダーにもバインドされていません。どのクラウドでも実行でき、心配する必要はありません。

技術実装の紹介#

技術選定#

  • Node プログラミング言語
  • ストレージの選択 minIO、オープンソースとスケーラビリティ
  • データベースの選択 mongo
  • ゲートウェイ apisix、ダイナミックルーティングのシームレスな変更、豊富なプラグイン、オープンソース

開発者の使用フロー#

  • IDE または CLI で開発
  • アプリケーションを作成し、laf サーバーに接続します
  • k8s を介してアプリケーションインスタンスを作成し、ノードランタイムに配置します
  • データベースとストレージを割り当てます
  • アプリケーションの作成と起動

ユーザートラフィックフロー#

  • クラウド関数の呼び出し、API の呼び出し
  • トラフィックがゲートウェイに到達し、ゲートウェイが appID とランタイムを見つけます
  • 関数名を確定し、実行して応答を返します

サーバーレスの実装比較

  • 1 つのアプローチは、リクエストごとにポッドを起動して処理し、常に新しい環境です。スケーリングの拡大と縮小は比較的簡単ですが、冷起動が面倒であり、長時間の接続をサポートしていません。
  • Laf は長時間の接続メモリソリューションを選択しており、冷起動はありません。コンテナは常に実行され、自然に長時間の接続をサポートします。スケーリングの拡大と縮小は k8s の HPA を使用して実現され、スケーリングの技術的な実装は複雑になります。

他にもいくつかの詳細がありますが、理解できないため、触れません。

開発者の視点#

  • クラウド関数を記述すると、それが js にコンパイルされ、データベースに保存され、ランタイムに公開されます
  • node vm モジュールを呼び出して、スクリプトオブジェクトに処理し、メモリにキャッシュし、クラウド関数を実行するためにメモリから vm のスクリプトオブジェクトを取得して実行します
  • コンパイルのプロセスはありません
  • http 呼び出し時には、メモリからコンパイル後の結果を取得し、コンテキストを処理し、コードを実行します
  • クラウド関数は直接呼び出され、require 時にクラウド関数かどうかを識別し、node_module に処理します

オブジェクトストレージ部分#

MinIO を使用してバケットを保存し、アクセスポリシーを使用してマルチテナントの分離を実現します

データベース部分#

mongo にはユーザー管理メカニズムがあり、ユーザーの権限を分離できます。

トラフィックが急増した場合、プラットフォームに影響を与えますか? MongoDB のトラフィックをパケットに分割し、リクエストの頻度制限を判断し、破棄することもできますし、データベースの計量課金もできます。

ゲートウェイ部分#

apifix を利用してダイナミックルーティングを処理します。

クラウド関数、アプリケーション、ストレージバケットはすべて彼によって割り当てられたサブドメインを介してアクセスされます。

laf pilot#

主に AI を使用して問題を分析し、ドキュメントの知識ポイントを理解し、コードを書きます。

  • ビジネスコードの実装
  • ドキュメントの使用に関する問題
  • その他の問題

その他の実装能力の展望#

sealos を使用したクラウドリソースの呼び出しの実現を紹介します。

その他は無視します。

🏠 公式ウェブサイトリンク
https://laf.run

🐙GitHub アドレス
https://github.com/labring/laf

📑 Laf ドキュメントにアクセス
https://doc.laf.run/guide/

🏘️ フォーラムを訪れる
https://forum.laf.run/

個人的な感想#

laf の基本的な機能を比較的体系的に紹介しました。個人的にはユーザーなので、多くの知識ポイントを理解するのは比較的容易です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。