微信小程序云端解决方案

微信小程序云端解决方案

ID:32877326

大小:1.89 MB

页数:44页

时间:2019-02-17

微信小程序云端解决方案_第1页
微信小程序云端解决方案_第2页
微信小程序云端解决方案_第3页
微信小程序云端解决方案_第4页
微信小程序云端解决方案_第5页
资源描述:

《微信小程序云端解决方案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、腾讯云微信小程序云端解决方案探索之路腾讯云探索之路小程序特性思考挑战与尝试整合前端工程师如何理解小程序?小程序是H5应用吗?不是小程序不是H5应用•无法使用DOM接口•HTML5生态中基于DOM的库全部无法使用(如jQuery)•并非URL访问,没有域名概念•不存在跨域问题•无Cookie存储•小程序更偏向CS架构小程序和传统CS架构的区别在哪儿?网络和续航•网络环境复杂•过于消耗资源会导致续航下降•小程序对网络优化和资源优化提出要求伸缩能力•传播和社交特性可能会带来业务的突然增长•小程序对后台架构的伸缩能力有

2、高要求我们进行的尝试上传下载场景会话管理服务WebSocket服务视频点播场景挑战在哪儿会话服务WebSocket服务会话管理的挑战•小程序不支持Cookie传输,需要自己实现会话服务会话管理目标•完成微信要求的鉴权流程,生成用户会话•利用会话确定每个请求对应哪个微信用户•安全性和扩展性要求会话建立过程会话管理客户端SDK会话管理服务器SDK小程序1.请求登录业务服务器2.换取会话微信服务器(code,rawData,signature)(code,appid,appsecret)6.返回会话3.返回会话(se

3、ssion_id)(session_key)5.建立并保存会话4.验证签名Redis会话服务效果分析•以NodeSDK的形式完成了功能性目标•其它后端语言不通用•小程序appId和appSecret安全性问题•缺少横向扩展能力会话服务改进•独立会话管理服务器•提供多语言SDK•appId和appSecret存放到数据库改进的会话建立流程小程序业务服务器会话服务器微信服务器wx.login()获取codewx.getUserInfo()获取(encryptedData,iv)请求登录请求登录jscode2sess

4、ion(code,encryptedData,iv)(code,encryptedData,iv)(code,appId,appSecret)(session_key,openId)通过(session_key,openId)生成(id,skey)通过(session_key,iv)解密encryptedData得到userInfo(id,skey)(id,skey,userInfo)保存会话(id,skey)改进的会话检查流程小程序业务服务器会话服务器getStorage()获取(id,skey)wx.req

5、uest()检查会话进行业务请求(id,skey)(id,skey)检查会话合法性alt查询userInfo会话合法(userInfo)业务处理会话非法错误信息错误信息会话服务改进分析•流程和安全性完全符合微信鉴权要求•独立会话服务器的优势•方便单独升级、扩展•业务服务器SDK开发成本低,方便支持多语言WebSocket的挑战•小程序为何要支持WebSocket?通信方式对比传统连接WebSocket•建立连接耗时长•仅需要建立一个连接•需要建立多个连接•双向实时通信•长连接方案只能串行传输•省电体验好•耗电体

6、验差一张图解释WebSocketHTTPonTCPSwitchProtocolWSonTCPWebSocket的尝试•使用Socket.IO实现后端•Socket.IO客户端在小程序上无法运行•学习Socket.IO协议后实现了一个简版的客户端•实现剪刀石头布游戏逻辑WebSocket效果分析•验证了WebSocket的可用性•阉割版的Socket.IO客户端不可控•后端实现门槛高,且不好横向扩展WebSocket方案改进•使用PaaS服务支持WebSocket连接WebSocket方案改进TCP小程序业务服务

7、器HTTP(S)小程序业务服务器TCPHTTP(S)信道服务使用PaaS服务建立WS连接小程序业务服务器1.请求WebSocket连接4.返回连接地址(connectUrl)2.申请连接地址(receiverUrl)3.返回连接地址(connectUrl)5.建立WebSocket连接6.通知连接已建立信道服务使用PaaS服务进行WS通信小程序业务服务器d.推送到客户端c.推送消息a.发送消息b.推送到业务服务器信道服务PaaS信道服务的优势和局限•优势•平台提供扩展能力•业务服务器无需支持WebSocket协

8、议•减轻服务器连接资源•稳定性和性能保障•局限•业务服务器和信道服务器间公网通信延迟•调试便利性不如传统连接方式信道服务如何支持会话?服务与模块关系服务/模块客户端业务服务器会话服务器响应客户端;响应业务服务器请求;会话服务和业务服务器通信与会话服务器通信与微信服务器通信向业务服务器申请响应客户端;连接;信道服务与PaaS服务申请连-与PaaS服务建立接并通信;连接并通信;整合客户端整

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。