微信小程序服务器云端,微信小程序云端解决方案.PDF

腾讯云

微信小程序云端解决方案

探索之路

腾讯云

探索之路

小程序特性思考

挑战与尝试

整合

前端工程师如何理解小程序?

小程序是H5 应用吗?

不是

小程序不是H5 应用

• 无法使用DOM 接口

• HTML5 生态中基于DOM 的库全部无法使用(如

jQuery )

• 并非URL 访问,没有域名概念

• 不存在跨域问题

• 无Cookie 存储

• 小程序更偏向CS 架构

小程序和传统CS 架构的

区别在哪儿?

网络和续航

• 网络环境复杂

• 过于消耗资源会导致续航下降

• 小程序对网络优化和资源优化提出要求

伸缩能力

• 传播和社交特性可能会带来业务的突然增长

• 小程序对后台架构的伸缩能力有高要求

我们进行的尝试

上传下载场景 会话管理服务 WebSocket 服务 视频点播场景

挑战在哪儿

会话服务 WebSocket 服务

会话管理的挑战

• 小程序不支持Cookie 传输,需

要自己实现会话服务

会话管理目标

• 完成微信要求的鉴权流程,生成用户会话

• 利用会话确定每个请求对应哪个微信用户

• 安全性和扩展性要求

会话建立过程

会话管理客户端SDK 会话管理服务器SDK

小程序 1. 请求登录 业务服务器 2. 换取会话 微信服务器

(code, rawData, signature ) (code, appid, appsecret)

6. 返回会话 3. 返回会话

(session_id) (session_key)

5. 建立并

保存会话 4. 验证签名

Redis

会话服务效果分析

• 以Node SDK 的形式完成了功能性目标

• 其它后端语言不通用

• 小程序appId 和appSecret 安全性问题

• 缺少横向扩展能力

会话服务改进

• 独立会话管理服务器

• 提供多语言SDK

• appId 和appSecret 存放到数据库

改进的会话建立流程

小程序 业务服务器 会话服务器 微信服务器

wx.login() 获取 code

wx.getUserInfo() 获取 (encryptedData, iv)

请求登录 请求登录 j scode2session

(code, encryptedData, iv) (code, encryptedData, iv) (code, appId, appSecret)

(sess

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值