开源的SaaS解决方案分解
冗余,高可靠 性, 负载均衡
MySQL / GFS-GNBD/ HA (Active/Passive) MySQL / DRBD / HA (Active/Passive) MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
SaaS 架构关注内容
1.数据存储区域 2.数据访问区域
3.缓存区域
4.应用服务服务区域 5.Web服务器区域 6.分布式文件区域 7.MQ消息队列区域 8. 负载均衡区域 9. 其它技术
东软绝密/秘密/内部公开
数据存储的挑战
• 完全独立模式(独立数据 库模式)
成长的烦恼
• 部分独立模式(共享数据 库、独立数据结构模式)
在读写方面相当于单独服 需要高可靠性、读 务器 操作密集型的应用
读操作密集型的、 同单独服务器;在读操作 需要高可靠性和负 方面支持得较好 载均衡的应用
Google MySQL MMM技术
东软绝密/秘密/内部公开
Sharding vs Partition
Sharding
存储依赖 可跨越DB 可跨越物理机器
NDB
可用于负载均衡场合; 可用于高可靠性场合; 高伸缩性; 真正的数据库冗余; 容易维护。 高可靠性 某种程度的冗余 按照高可靠性进行伸缩
几乎 比典型的单独服务 随着数据库的变大,对RAM的 器(无千兆以太网,无 需求变得更大,因此成本很 SCI卡,存储引擎相关的 高 限制少)慢10倍。 没有负 载均衡 没有保证的冗余 无法对写操作进行伸缩
• 完全共享模式(共享数据 库、共享数据结构模式)
• 高并发的数据读写 访问 • 海量数据的高效读 写访问及管理 • 高扩展及高可用性
SaaS数据存储模式
东软绝密/秘密/内部公开
传统解决方案VS 新兴解决方案
SQL
• • • • • • • 采用集群方式分担系统压力 Partition方式 Sharding方式 (垂直,水平) 读写分离 预留字段 值对/行专列 Xml扩展
资源池动态伸缩
D
D
D
Cloud
D
D
D Cloud
D
D
D
东软绝密/秘密/内部公开
Part 1:IT部署视图演化及挑战 Part 2:动态基础设施 Part 3:SaaS关注技术
Part 4:Q&A
SaaS关键特性
高可用 性 高性能 高伸缩 性
高伸缩:多租户,功能可配置,流程可配置
东软绝密/秘密/内部公开
Part 4: Q&A
IT系统部署视图演化-1
东软绝密/秘密/内部公开
N轮视图演化后架构
东软绝密/秘密/内部公开
东软绝密/秘密/内部公开
演化面对的挑战
• • • • 计算资源快速的供给 应用快速部署 资源按需分配 自动化管理的能力 • • • • • • • 应用服务器可水平扩展 数据库水平可扩展 异步消息队列 缓存机制 应用负载均衡 流程可定制 功能可配置
App
DAL
Phr 33%
Phr 34%
东软绝密/秘密/内部公开
读写分离
phr
App
DAL
phr
东软绝密/秘密/内部公开
SQL数据访问区域(DAL)
1.mysql proxy
实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理 事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致 的变更同步到集群中的从数据库。
对读操作支持得较好
需要高可靠性的、 读操作密集型的应 用
高可靠性; 没有负载均衡 一定程度的冗余; 没有保证的冗余 以 高可靠性名义来看是可伸缩的 在写负载方面没有伸缩性 读操作的高可靠性; 无写操作的高可靠性; 读操作的负载均衡; 无写操作的负载均衡; 在读 操作负载均衡方面是可伸缩 在写操作方面无伸缩性 的
2.Amoeba
Amoeba项目是分布式数据库 proxy 开发框架。座落与Client、DB Server(s) 之间。对客户 端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到 目标数据库、可并发请 求多台数据库合并结果。 主要解决: * 降低 数据切分带来的复杂多数据库结构 * 提供切分规则并降低 数据切分规则 给应用带来的影响 * 降低db 与客户端的连接数 * 读写分离
Partition
可跨越表空间,不同的物理 属性 不能跨DB存储 集中式
存储方式
分布式
扩展性
可用性
Scale Out(横向扩展)
无单点,需要处理跨数据事务
Scale Up(升级设备)
存在单点(DB数据本身)
应用场景
web 2.0
多数传统应用
东软绝密/秘密/内部公开
数据切分-SQL
实现方式 优点 缺点 扩展能力有限 强耦合的应用不容易垂直切分
SaaS关键技术 ----开源解决方案
解决方案技术中心
Copyright Corporation Copyright © © 2009 2010Neusoft Neusoft Corporation
Part 1:IT部署视图演化及挑战 Part 2:动态基础设施 Part 3:SaaS架构关注技术
NoSQL
• 内置集群支持很容易水平扩展 • 强大数据备份功能 • 支持Mapreduce功能 • • • • 不足: 不支持SQL 目前都是开业的没有商业产品 不支持或是局部支持事务
• 不足: • 扩展性不好 • 成本高
东软绝密/秘密/内部公开
SQL集群技术-MySQL
集群方案
有点 缺点 速度 适用场合
基础设施可扩展
应用架构可扩展
东软绝密/秘密/内部公开
Part 1:IT部署视图演化及挑战 Part 2:动态基础设施
Part 3:SaaS架构关注技术
Part 4: Q & A
云计算关键特性
计算服务化 资源 虚拟 化 管理智能化
自服 务化
东软绝密/秘密/内部公开
基础设施供应生命周期
东软绝密/秘密/内部公开
垂直切分
实现简单
读写分离
可有效分担读的压力 主要在数据库层扩展,应用修改小
对读写均衡的应用扩展能有限 依赖于数据库本身的同步能力
水平切分
SaaS普遍使用 扩展性强
实施复杂
东软绝
user
App
DAL
phr
东软绝密/秘密/内部公开
水平sharding
Phr 33%
3.Websphere II