基于laaS的即时通讯PaaS.pptx
文本预览下载声明
基于 IaaS 的即时通讯 PaaS
平台构建探索与实践
主题
• Part I:即时通讯 PaaS 平台的探索与实践
• Part II:基于 IaaS 的 PaaS 平台构建思想
构建业务的成本越来越低
主机
CI
代码库
域名
CDN
Runtime
缓存
队列
存储
数据库
安全
分享
应用发包
推送
即时通讯
登录
统计
什么是即时通讯云服务?
IM 云服务与独立 IM 业务的对比
独立 IM 业务
• 业务复杂,会衍生大量其他周边功能
• 以我为核心,向周边系统开放能力
• 用户数增长数可预估
• 业务峰值出现在可预计的固定时间段与周期
• 系统封闭、内敛,内部安全牢固
IM 云服务
• 高度抽象,兼容性与扩展性的要求极高,专
注于提供通讯能力
• 系统具备通用性,需要灵活快速与宿主对接
• 用户数随 App 接入数及 App 本身用户数增
长而增长,预估难度大
• 业务峰值随 App 业务变化,无固定时间段与
周期
• 开放系统,需要有大量的安全考虑
即时通讯云服务需要面对的问题
• 作为云计算服务,弹性伸缩是最基础也是最大的挑战
• 系统、协议及 SDK 的向后兼容性
• 如何最大化的降低客户的开发成本
• 作为云服务平台,必须提供沙箱环境
• 通讯中的消息权限控制
思考与探索
• 协议设计思考
• 集群设计思考
• 系统结构设计思考
协议设计
• 融云采用了私有通讯协议
• 融云协议设计的安全策略
集群设计思考
1. 将所有 App 集中于一个系统内再分 Set
• 优势:结构简单,管理容易
• 劣势:资源分布不均,私有化困难
2. 将 App 根据业务量灵活划分 Set
• 优势:均衡资源使用,容易迁移及私有化
• 劣势:结构复杂,管理难度较大
架构示意图
Navigation
Set 1
ConnectionManagementPool
MessageService
GroupService
UserService
Discussion
Service
RepoService
Chatroom
Service
Set n
ConnectionManagementPool
MessageService
GroupService
UserService
Discussion
Service
RepoService
Chatroom
Service
CenterManagement
AuthService
PushService
APIServer
TURNServer
关于安全的话题
• 架构安全
• 协议安全
• 内容安全
我们到底为什么选择 IaaS?
• 低成本?
• 节约时间?
• IaaS 资源按需分配
• 服务弹性伸缩
• 软硬合一
什么样的应用架构才是弹性伸缩?
跨网络
• 服务包括多个集群
• 每个集群可部署至任一云网络
• 每个集群包括多个角色的节点
• 每个节点可以部署至任一主机
易扩展
• 节点热停热启
• 启用与备用状态灵活切换
• 应用路由灵活控制
自我管理
• 节点加入,退出机制
• 状态监控
• 快速扩容
是时候该换个方式思考了!
架构还是那个架构
15
16
一切皆资源,配置即属性
总结
• 一切皆资源
• 主机不再是核心,业务对象才是,资源是业务对象的属性
• 弹性伸缩是云服务的基本属性,PaaS 的弹性依赖于底层 IaaS 的
能力支撑
Thanks!
显示全部