簡単にビルドアプレットベースのサーバレスアーキテクチャ

序文

2017年以来、小さなプログラムの数の最初の行は、より多くのモバイル端末アプリケーションのアプレットの形で提示します。アプレットは、指先、実行利点を持っており、大幅にユーザの負担を軽減され、行く、小さなプログラムは、広く普及してきました。アリババは、小さなプログラムも広く淘宝網/アリペイ/爪/高地ドイツ語や他のプラットフォームで使用されています。

小さなプログラムの多数をサポートするために、サーバーが直面する課題は、以下のとおりです。

  • 小さなプログラムの多数がアクティブではない、少なくとも一つのサーバの伝統的な方法は、リソースの無駄になります。
  • プログラムに活動のピークの急増の少量を呼び出し、それがサーバーがすぐに弾性伸縮することができ必要です。

小さなアプリケーション開発者は、クライアント/フロントエンドの開発者、より多くのコードの高速なサービスやアプリケーションの開発ラインに焦点を当て、および運用・保守業務の不注意レジャー介護サービス側になる傾向があります。

アリクラウドの機能・コンピューティングは、開発者は、インフラストラクチャ管理サーバ、ちょうど書き込みとアップロードのコードを必要としないので、あなたは、信頼性の高い弾力性と安全なサービスを構築することができ、完全にホストされたサーバレスコンピューティングサービスです。

弾性のない操作やメンテナンスを計算する機能、効率的で安全な機能は、小規模なサーバプログラムとして非常に適しています。

ソリューション

この関数はすぐに計算小さなアプレットベースの機能を構築するために、ヘルプアプリケーション開発者へのパッケージのアプレットサーバーテンプレートのセットを計算します。

小さなアプリケーションプログラムを構築するために、このテンプレートを使用して、次の機能があります。

  • 操作と高効率の維持:なし管理サーバ機能は、オンラインで展開することができます
  • 高効率の開発:カプセル化されたデータインタフェースに基づいて、サービス・コードの開発を導きます
  • ゼロコストの起動:サーバベースコンピューティング機能、ストアテーブルに使用されるデータベースは、自由の量に応じて支払われ、より大きな量を持っています

ワークフローアプレット

ビルドプロセス
完全なAlipayのアプレットは、次の要素が必要です。

  • アリペイのApp:サポートはアリペイは、エンドユーザの携帯電話を実行する小さなプログラムです
  • クライアントは、アプレット:アプレットは、ユーザーの画面に提示されます
  • アプレットサーバは:そのようなユーザ認証およびデータアクセスのような小さなプログラムの論理処理ユニットを、あります
  • アリペイサービス側:論理処理ユニットアリペイアプリケーション、ユーザーのID情報を含みます

この関数はすぐに計算小さなアプレットベースの機能を構築するために、ヘルプアプリケーション開発者へのパッケージのアプレットサーバーテンプレートのセットを計算します。以下は、ワークフローサーバテンプレートを説明します。

FCサーバテンプレートのワークフロー

インフラの問題の運用・保守に加えて、サーバは、主に2つの一般的な問題を解決するには:

  1. 身份认证: 服务端提供的 API 如何对客户端的请求进行鉴权?客户端的信息如果泄露如何保证数据安全?
  2. 数据访问: 客户端如何进行数据库操作和文件操作?

这是每一个小程序开发都会遇到的共性的问题,可以通过一些框架或者模板来避免重复建设。因此我们基于函数计算开发了一个小程序应用模板,解决了这些通用的问题,让开发者能够专注在业务逻辑上,快速开发上线自己的小程序。

サーバーのワークフロー

  1. 客户端小程序通过支付宝 App 的 API,获得 authCode,这个过程会在 App 中弹出用户授权框;
  2. 小程序客户端向小程序服务端发起 createSession 请求,用于初始化的身份认证;
  3. 小程序服务端将 authCode 传给支付宝服务端,支付宝服务端校验 authCode,返回 accessToken;
  4. 小程序服务端根据收到的 accessToken 生成一个 sessionId 和一个 STS token,在服务端记录这 2 个信息然后把它们返回给客户端。STS token 是用于访问服务端函数的凭证,而 sessionId 作为前面认证成功而建立的会话信息,通过这 个sessionId 可以识别当前请求的用户信息;
  5. 小程序客户端再次需要获取数据,带着证明自己身份的 sessionId 向小程序服务端发起获取数据请求;
  6. 小程序服务端首先根据 sessionId 获取用户身份信息,再根据用户信息获取相关数据;
  7. 将用户数据返回给小程序客户端。

搭建流程

注册支付宝小程序

  • 准备工作:注册支付宝开发者账号
    如果您尚未注册支付宝开发者账号,使用支付宝账号登录 蚂蚁金服开放平台,并完成开发者身份注册。详细信息请参见 开发者入驻说明
  • 创建支付宝小程序应用

    APPID

    • 生成密钥,需要在小程序服务端与支付宝服务端配置密钥,对交易数据进行双方校验
    • 将公钥配置在 【设置】->【开发设置】-【接口加签方式】,并记录私钥

搭建小程序服务端

  • 准备工作

  • 部署应用

    • 进入控制台应用中心,选择 Mini App Todo List Server Template 模板,填写刚才记录的 APPID 与 PrivateKey,为 DBInstance/LogProject 取个自定义的名字(如果名字已被占用,会报 Already Exists 的错误),部署应用

搭建小程序客户端

fcAccountId 阿里云AccountId
fcRegion 函数部署的区域,例如cn-shanghai
fcServiceName 函数计算服务名称
sessionFunctionName session函数的名称,例如session
dbFunctionName db函数的名称,例如db

由于 fc-nodejs-sdk 使用了ES6语法,在发布小程序时,需要在小程序项目的根目录下,新建一个文件mini.project.json,填入以下内容:

{
  "node_modules_es6_whitelist": [
     "@alicloud/fc2"
  ]
}

これまでのところ、開発は、あなたのアプレットの友人がオンラインで、デバッグすることができ、完成されています。

概要

訪問中、トラフィックの増加またはバックエンドサービスの安定性と柔軟性の活動の急激な増加と、アプレット行の後に、それはまた、偉大なテストです。機能が大幅にバックエンドサービスの開発の効率を高める、実行にアップロードコードを計算し、弾性的に伸縮ハイブリッドモード、負荷の変化にも容易に対応するために。サーバーテンプレートとすぐにクライアントベースのアプレット機能のコンピューティングアプリケーションを構築することができますテンプレートは、これらの機能がサポートアプレットの良い選択を算出する機能を行います。

おすすめ

転載: yq.aliyun.com/articles/745238