小程序云开发,让开发小程序更简单
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
传统模式
小程序端 后端
路由 框架 性能 安全
架构演进
数据库 性能 运维
小程序·云开发模式
小程序端
第一行:const db = wx.cloud.database()
第二行: db.collection('blog').add({ data:{
title:'test blog’, content:'test content’ } }).then((res)=>{}).catch(console.error);
小程序·云开发 让开发小程序更简单
小程序开发之前,你需要……
开始
注册小程序账号 注册公有云账号
购买
购买云服务器 购买域名
申请SSL证书
配置
SSH连接服务器 安装NodeJS 安装Nginx 安装MySQL 导入SSL证书 测试Nginx 域名备案
开发
小程序开发时,你还需要……
冷备热备 文件存储
网络防护
• 自动索引 • O(n)->O(1)
• 多层无锁列表 • 5k->3w
高可靠
小程序
小程序
小程序
消息上行
消息下行
消息下行
小程序
消息上行
小程序
小程序
消息下行
消息下行
数据可靠
• 数据不丢
• 数据有序
后端
容灾容错
• 用户掉线 • 保持长链 • 服务变更 • 机器死机
高并发
• 海量用户
低延迟
• 消息快速推
送
架构演进
云
开
发
数
据
写
入
const db = wx.cloud.database()
小程序·云开发带来的架构演进
01 02 03
云原生
小程序开发新模式, 小程序端直接访问云端资源
云调用
小程序生态新标准, 云开发免鉴权使用微信开放后台API
云实时推送
Serverless Websocket长连服务, 让实时交互更简单自然
04
云接入
融合现有架构, 减少接入云开发成本
云调用:云开发免鉴权调用微信开放后台API
小程序
微信中间件
获取缓存的 Access_token
高速缓存
是否缓存 Access_t
okenห้องสมุดไป่ตู้
更新缓存
获取全新的 Access_token
高速缓存
小程序
架构演进
云开发(云函数)
const cloud = require('wx-server-sdk')
cloud.openapi.ocr.idcard({ type: 'photo', img: { contentType:'image/png’, value:Buffer }
数据存储能力
文件存储能力
能力: • 云函数:在云端运行的代码,微信私有天然鉴权,开发者只需编写自身业务逻辑代码 • 数据库:提供增删改查能力的类MongoDB数据库 • 存储:可上传下载删除文件的存储服务,自带CDN
小程序·云开发用户价值
官方生态
内置在小程序IDE,免认证登录,云相关API不需任何安装, 开箱即用。
安全加固 监控告警 其他请求
后端 小程序
小程序·云开发模式
Mysql
云接入 Redis
其他…
云函数
云原生 文件存储
数据库
小程序
小程序·云开发三大核心能力
小程序·云开发 是微信团队和腾讯云联合开发的,集成于小程序控制台的原生serverless云服务。 核心功能包括:云存储、云数据库和云函数。
代码执行
内容加速
数据库 高扩展
高并发
网络专线
业务逻辑
高可用
异地容灾
安全加固 负载均衡
监控告警
弹性伸缩
容器服务
小程序·云开发的愿景
Ø 云能力应该是小程序的基础能力 Ø 开发者不需要去理解过多的概念
传统云服务模式 VS 小程序·云开发模式
传统云服务模式
弹性伸缩 异地容灾 网络防护
负载均衡 冷备热备
数据库
网络专线 内容加速 文件存储
})
云实时云推开送发:数云据端库架实构时推送架构
Ø SDK封装 Ø 自动重连 Ø 连接复用 Ø 数据校验
Ø 就近接入 Ø BGP网络
Ø 自动鉴权 Ø 安全规则校验
Ø 自动调度 Ø 热备容灾
Ø 高性能 Ø 可靠方案
Ø Bin log复制 Ø 断点恢复
云实时推送:系统指标
• 事件合并推送 • 单核8k QPS
小程序·云开发带来的架构演进
01 02 03
云原生
小程序开发新模式, 小程序端直接访问云端资源
云调用
小程序生态新标准, 云开发免鉴权使用微信开放后台API
云实时推送
Serverless Websocket长连服务, 让实时交互更简单自然
04
云接入
融合现有架构, 减少接入云开发成本
云原生:小程序端快速管理云端资源
者 工
cloud.openapi.customerServiceMessage.send ({
具
touser: 'OPENID',
配
msgtype: 'text',
置
text: {
转
content: 'Hello World'
发
}
})
云调用:免鉴权 != 没有鉴权
小程序·云开发带来的架构演进
01 02 03
const watcher = db.collection('todos').where({
team: 'our dev team' }).watch({
onChange: function(snapshot) { console.log('docs\'s changed events',
snapshot.docChanges) }
快速上手
SDK调用比API调用更简单易懂。
配置简单
一键开通,可视化操作。
高效鉴权
内建微信小程序用户鉴权,开发者无需关注用户鉴权,将 精力投放在核心业务逻辑上。
弹性伸缩
业务快速发展轻松实现扩容。
降低成本
提供较完整的云服务架构,简化小程序开发过程中复杂的 后端操作,开发者无需关心底层服务器资源部署运维,极 大节约服务器架构搭建维护成本。
云原生
小程序开发新模式, 小程序端直接访问云端资源
云调用
小程序生态新标准, 云开发免鉴权使用微信开放后台API
云实时推送
Serverless Websocket长连服务, 让实时交互更简单自然
04
云接入
融合现有架构, 减少接入云开发成本
云实时推送:多端用户数据同步场景
云实时推送:多端用户数据同步能力
})
微信开放后台API
云调用:云开发接收客服消息
小程序
客服回复
进入会话/发消息
发送接入消息
小程序后 台配置
微信 服务
器
签名返回 发送客服消息
开发者 服务端
回复用户
架构演进
小程序
客服回复
进入会话/发消息
云开发(云函数)
开 const cloud = require('wx-server-sdk')
发