序文
2017年以来、小さなプログラムの数の最初の行は、より多くのモバイル端末アプリケーションのアプレットの形で提示します。アプレットは、指先、実行利点を持っており、大幅にユーザの負担を軽減され、行く、小さなプログラムは、広く普及してきました。アリババは、小さなプログラムも広く淘宝網/アリペイ/爪/高地ドイツ語や他のプラットフォームで使用されています。
小さなプログラムの多数をサポートするために、サーバーが直面する課題は、以下のとおりです。
- 小さなプログラムの多数がアクティブではない、少なくとも一つのサーバの伝統的な方法は、リソースの無駄になります。
- プログラムに活動のピークの急増の少量を呼び出し、それがサーバーがすぐに弾性伸縮することができ必要です。
小さなアプリケーション開発者は、クライアント/フロントエンドの開発者、より多くのコードの高速なサービスやアプリケーションの開発ラインに焦点を当て、および運用・保守業務の不注意レジャー介護サービス側になる傾向があります。
アリクラウドの機能・コンピューティングは、開発者は、インフラストラクチャ管理サーバ、ちょうど書き込みとアップロードのコードを必要としないので、あなたは、信頼性の高い弾力性と安全なサービスを構築することができ、完全にホストされたサーバレスコンピューティングサービスです。
弾性のない操作やメンテナンスを計算する機能、効率的で安全な機能は、小規模なサーバプログラムとして非常に適しています。
ソリューション
この関数はすぐに計算小さなアプレットベースの機能を構築するために、ヘルプアプリケーション開発者へのパッケージのアプレットサーバーテンプレートのセットを計算します。
小さなアプリケーションプログラムを構築するために、このテンプレートを使用して、次の機能があります。
- 操作と高効率の維持:なし管理サーバ機能は、オンラインで展開することができます
- 高効率の開発:カプセル化されたデータインタフェースに基づいて、サービス・コードの開発を導きます
- ゼロコストの起動:サーバベースコンピューティング機能、ストアテーブルに使用されるデータベースは、自由の量に応じて支払われ、より大きな量を持っています
ワークフローアプレット
完全なAlipayのアプレットは、次の要素が必要です。
- アリペイのApp:サポートはアリペイは、エンドユーザの携帯電話を実行する小さなプログラムです
- クライアントは、アプレット:アプレットは、ユーザーの画面に提示されます
- アプレットサーバは:そのようなユーザ認証およびデータアクセスのような小さなプログラムの論理処理ユニットを、あります
- アリペイサービス側:論理処理ユニットアリペイアプリケーション、ユーザーのID情報を含みます
この関数はすぐに計算小さなアプレットベースの機能を構築するために、ヘルプアプリケーション開発者へのパッケージのアプレットサーバーテンプレートのセットを計算します。以下は、ワークフローサーバテンプレートを説明します。
FCサーバテンプレートのワークフロー
インフラの問題の運用・保守に加えて、サーバは、主に2つの一般的な問題を解決するには:
- 身份认证: 服务端提供的 API 如何对客户端的请求进行鉴权?客户端的信息如果泄露如何保证数据安全?
- 数据访问: 客户端如何进行数据库操作和文件操作?
这是每一个小程序开发都会遇到的共性的问题,可以通过一些框架或者模板来避免重复建设。因此我们基于函数计算开发了一个小程序应用模板,解决了这些通用的问题,让开发者能够专注在业务逻辑上,快速开发上线自己的小程序。
- 客户端小程序通过支付宝 App 的 API,获得 authCode,这个过程会在 App 中弹出用户授权框;
- 小程序客户端向小程序服务端发起 createSession 请求,用于初始化的身份认证;
- 小程序服务端将 authCode 传给支付宝服务端,支付宝服务端校验 authCode,返回 accessToken;
- 小程序服务端根据收到的 accessToken 生成一个 sessionId 和一个 STS token,在服务端记录这 2 个信息然后把它们返回给客户端。STS token 是用于访问服务端函数的凭证,而 sessionId 作为前面认证成功而建立的会话信息,通过这 个sessionId 可以识别当前请求的用户信息;
- 小程序客户端再次需要获取数据,带着证明自己身份的 sessionId 向小程序服务端发起获取数据请求;
- 小程序服务端首先根据 sessionId 获取用户身份信息,再根据用户信息获取相关数据;
- 将用户数据返回给小程序客户端。
搭建流程
注册支付宝小程序
- 准备工作:注册支付宝开发者账号
如果您尚未注册支付宝开发者账号,使用支付宝账号登录 蚂蚁金服开放平台,并完成开发者身份注册。详细信息请参见 开发者入驻说明。 -
创建支付宝小程序应用
- 使用支付宝账号登录 蚂蚁金服开放平台进入开发者中心 创建小程序,填写基本信息,并记录下 APPID
- 生成密钥,需要在小程序服务端与支付宝服务端配置密钥,对交易数据进行双方校验
- 将公钥配置在 【设置】->【开发设置】-【接口加签方式】,并记录私钥
- 使用支付宝账号登录 蚂蚁金服开放平台进入开发者中心 创建小程序,填写基本信息,并记录下 APPID
搭建小程序服务端
-
准备工作
-
部署应用
- 进入控制台应用中心,选择
Mini App Todo List Server Template
模板,填写刚才记录的 APPID 与 PrivateKey,为 DBInstance/LogProject 取个自定义的名字(如果名字已被占用,会报 Already Exists 的错误),部署应用
- 进入控制台应用中心,选择
搭建小程序客户端
-
准备工作
- 下载并安装支付宝 小程序开发者工具。
-
搭建应用
- 在小程序项目根目录下,安装 fc-nodejs-sdk:
npm install git://github.com/aliyun/fc-nodejs-sdk.git#mini-app --save
-
TODO LIST 客户端代码在 mini-app-todo-list-client
- 修改server.js开头定义的变量,这些值会在 服务端模板 部署成功后自动输出:
|信息|说明|
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"
]
}
これまでのところ、開発は、あなたのアプレットの友人がオンラインで、デバッグすることができ、完成されています。
概要
訪問中、トラフィックの増加またはバックエンドサービスの安定性と柔軟性の活動の急激な増加と、アプレット行の後に、それはまた、偉大なテストです。機能が大幅にバックエンドサービスの開発の効率を高める、実行にアップロードコードを計算し、弾性的に伸縮ハイブリッドモード、負荷の変化にも容易に対応するために。サーバーテンプレートとすぐにクライアントベースのアプレット機能のコンピューティングアプリケーションを構築することができますテンプレートは、これらの機能がサポートアプレットの良い選択を算出する機能を行います。