쉽게 빌드 애플릿 기반의 서버를 사용하지 않는 아키텍처

머리말

2017 년 이후, 작은 프로그램의 다수의 첫 번째 행은, 더 많은 이동 단말기 애플리케이션의 애플릿 형태로 표시. 애플릿 손가락, 실행의 장점이 크게 사용자의 부담을 줄일 수있는, 이동, 작은 프로그램이 널리 전파되고있다. 알리 바바는 작은 프로그램은 또한 널리 Taobao의 / Alipay의 / 손톱 / 높은 독일과 다른 플랫폼에서 사용된다.

작은 프로그램의 큰 숫자를 지원하기 위해, 서버가 직면 한 도전은 다음과 같습니다 :

  • 작은 프로그램의 다수가 활성화되지 않은 적어도 하나 개의 서버의 전통적인 방법은 자원의 낭비 될 것입니다;
  • 활동의 피크에서 프로그램을 서지 소량의 전화, 서버가 빠르게 탄력과 탄성이 될 수 있어야합니다.

작은 응용 프로그램 개발자는 클라이언트 / 프런트 엔드 개발을하는 경향이 빠른 서비스와 코드의 응용 프로그램 개발 라인과 운영 및 유지 보수 작업의 실수 레저 의료 서비스 측면에 더 초점을 맞추고있다.

알리 클라우드 기능 컴퓨팅은 개발자가 인프라 관리 서버, 단지 쓰기 및 업로드 코드를 필요가 없습니다, 당신이 신뢰할 수있는 탄력 및 보안 서비스를 구축 할 수 있습니다, 완전히 호스팅 서버를 사용하지 않는 컴퓨팅 서비스입니다.

탄성이없는 운영 및 유지 보수를 계산하는 기능, 효율적인 안전 기능은 작은 서버 프로그램으로 매우 적합하다.

솔루션

기능 패키지 세트가 신속하게 계산 작은 애플릿 기반 기능을 구축하는 데 도움이 응용 프로그램 개발자들에게 서버 템플릿을 애플릿 계산합니다.

작은 응용 프로그램은 다음과 같은 기능을 가지고 구축이 템플릿을 사용 :

  • 운영 및 높은 효율의 유지 보수 : 더 관리 서버 기능을 온라인으로 배포 할 수 없습니다
  • 높은 효율의 개발 : 캡슐화 된 데이터 인터페이스를 기반으로, 서비스 코드의 개발을 지시
  • 제로 비용 시작 : 서버 기반 컴퓨팅 기능, 저장 테이블에 사용되는 데이터베이스, 무료의 양에 따라 지불하고 더 큰 금액을 가지고있다

워크 플로우 애플릿

빌드 과정
전체 Alipay의 애플릿은 다음과 같은 요소가 필요합니다 :

  • Alipay의 앱은 : 지원 Alipay의 최종 사용자의 휴대 전화를 실행하는 작은 프로그램입니다
  • 클라이언트 애플릿 : 애플릿은 사용자가 화면에 표시됩니다
  • 애플릿은 서버 : 이러한 사용자 인증 및 데이터 액세스와 같은 작은 프로그램 로직 처리부이며
  • Alipay의 서비스 측 : 사용자의 신원 정보를 포함하는 로직 처리부 Alipay의 앱스

기능 패키지 세트가 신속하게 계산 작은 애플릿 기반 기능을 구축하는 데 도움이 응용 프로그램 개발자들에게 서버 템플릿을 애플릿 계산합니다. 다음은 워크 플로우 서버 템플릿을 설명합니다.

FC 서버 템플릿 워크 플로우

운영 및 인프라 문제의 유지 보수뿐만 아니라, 서버는 주로 두 가지 일반적인 문제를 해결하기 위해 :

  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