开源的SaaS解决方案_第1页
开源的SaaS解决方案_第2页
开源的SaaS解决方案_第3页
开源的SaaS解决方案_第4页
开源的SaaS解决方案_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SaaS关键技术 开源解决方案 Copyright 2009NeusoftCorporation 解决方案技术中心 Part1 IT部署视图演化及挑战Part2 动态基础设施Part3 SaaS架构关注技术Part4 Q A IT系统部署视图演化 1 N轮视图演化后架构 演化面对的挑战 Part1 IT部署视图演化及挑战Part2 动态基础设施Part3 SaaS架构关注技术Part4 Q A 云计算关键特性 基础设施供应生命周期 资源池动态伸缩 Cloud Cloud Part1 IT部署视图演化及挑战Part2 动态基础设施Part3 SaaS关注技术Part4 Q A SaaS关键特性 高伸缩 多租户 功能可配置 流程可配置 SaaS架构关注内容 数据存储的挑战 传统解决方案VS新兴解决方案 SQL集群技术 MySQL GoogleMySQLMMM技术 ShardingvsPartition 数据切分 SQL 垂直sharding user phr App DAL 水平sharding Phr33 Phr33 App DAL Phr34 读写分离 phr phr App DAL 读 写 读 SQL数据访问区域 DAL 1 mysqlproxy实现 读写分离 Read WriteSplitting 基本的原理是让主数据库处理事务性查询 而从数据库处理SELECT查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 2 AmoebaAmoeba项目是分布式数据库proxy开发框架 座落与Client DBServer s 之间 对客户端透明 具有负载均衡 高可用性 sql过滤 读写分离 可路由相关的query到目标数据库 可并发请求多台数据库合并结果 主要解决 降低数据切分带来的复杂多数据库结构 提供切分规则并降低数据切分规则给应用带来的影响 降低db与客户端的连接数 读写分离3 WebsphereII Case1 Case1 数据生成分布规则 按照20会员每天采集一次监控 每次采集10个指标 都为数值型 计算 按照20万会员2010年全年的数据量 共计生成7 3亿条记录 分布在4个节点中 每台设备1 825亿条 共计50GB Sql数据扩展问题 Case2 hadoopHBase Hive 2003年Google三篇论文 GFS MapReduce BigtableHbase是一个分布式开源数据库 基于Hadoop分布式文件系统 模仿并提供了基于Google文件系统的Bigtable数据库的所有功能 其目标是处理非常庞大的表 可以用普通的计算机处理超过10亿行数据 并且有数百万列元素组成的数据表 MapReduce是分布式计算软件构架 它可以支持大数据量的分布式并行处理 Hadoop软件栈 Table ColumnFamily RowKey 行键 Table的主键 Table中的记录按照RowKey排序Timestamp 时间戳 每次数据操作对应的时间戳 可以看作是数据的versionnumberColumnFamily 列簇 Table在水平方向有一个或者多个ColumnFamily组成 一个ColumnFamily中可以由任意多个Column组成 即ColumnFamily支持动态扩展 无需预先定义Column的数量以及类型 所有Column均以二进制格式存储 用户需要自行进行类型转换 Case2 hadoopHBase Hive Case2 hadoop Hive SQL与NoSQL整合方案 hadoop Hive 1 DBMS保存全部数据 主要完成交易类数据的读写2 通过同步技术把DBMS的数据同步到NoSQL数据库中3 NoSQL负责完成历史数据的查询统计分析等工作 NoSQL数据库 MongoDB MongoDB与MySQL混搭 采用MySQL与mongoDB混搭的模式 利用NoSQL数据的列可以动态扩展的优势来避免在关系数据库为了扩展所采用行转列导致的数据爆炸性增长的问题1 面向集合的存储 适合存储对象及JSON形式的数据 2 动态查询 Mongo支持丰富的查询表达式 3 完整的索引支持 包括文档内嵌对象及数组 Mongo的查询优化器会分析查询表达式4 复制及自动故障转移 不适用 高度事务性的系统传统的商业智能应用 SQL数据库扩展的问题 ID 100 ID 200 App DAL ID 300 ID 400 NoSQL数据库扩展 phr phr App DAL phr phr 数据缓存工作原理 第一次 从数据库读取数据 并写入缓存第二次 从缓存读取数据 如果数据不存在 那么 在去数据库查询数据 目的 避免磁盘IO提高效率 减轻数据库压力 开源缓存对比 云平台缓存方案 客户端 AppServer Memcache EHCache Memcache Memcache Memcache AppServer EHCache 采用Memcached作为分布式缓存为了保证系统执行效率采用ehCache作为二级缓存在ehcache设置缓存时间 过期后到Memcached组成的缓存池获得数据 该方案也可以采用Terracotta 应用服务服务区域 业务系统的主要业务逻辑运行在应用服务器中 所以 它承担了更大的压力 面临如下挑战 1 大并发访问需要做应用服务器集群2 系统为了更可用性和友好性支持无缝切换 应用服务器session管理 云下有状态应用方案 memached session 客户端 AppServer Memcache Memcache Memcache Memcache AppServer memcached session manager具有如下特性 1 支持tomcat6和tomcat72 能够保持sticky会话和nonesticky会话3 能够支持tomcat失败转移4 能够支持Memcached失败转移5 实现session序列化6 可以实现session的异步存储7 Session修改更新Memcached8 JMX管理和监控 云下有状态应用方案 Terracotta 客户端 AppServer Terracoatt Terracoatt Terracoatt Terracoatt AppServer 1 Terracotta本身支持集群 避免单点故障 双机或者多机镜像 2 Terracotta的基础是分布式数据共享和线程协同3 不是通过对象序列化的方式传输 支持Field级别的变更同步4 不需要修改程序5 支持目前主流的中间价 agent agent Webserver区域 ApachevsNginxvslighttpd反向代理等功能1 作为老牌HttpServer ApacheHttpd在功能表现上令人满意 配置相对简单 功能丰富并且稳定 可以任意编译添加所需功能的模块 2 Nginx作为新兴的HttpServer 在性能表现上令人满意 功能相对丰富 作为功能相对简单的应用前台HttpServer是可以推荐的 而且HttpServer可以做到动态更改配置文件 不需要长时间中断服务 3 Lighttpd性能表现很好 但是在功能上有很多不稳定之处 Webserver静态资源分离 静态资源 图片 js脚本 css等 使用单独的服务器处理请求 浏览器 静态资源 静态资源 动态请求 动态请求 动态请示 动态请示 分布式文件作用 SaaS业务系统面临着海量小图片数据的存储问题 这些图片数据大小在几K 几十K不等但数目非常庞大 处理这些海量数据小文件传统文件系统已经不能满足要求 系统在scaling的过程中都遇到了这样的问题 磁盘IO过高 备份困难 单点问题 容量和读写无法水平扩展 还存在故障的可能 使用分布式存储技术来解决图片数据管理和容量扩展等方面的问题 分布式文件系统工作原理 存储节点 即StorageCluster 完成文件管理的所有功能 包括存储 同步和提供存取接口 同时通过对metadata的管理实现了IO的并行和高效访问 具有云存储虚拟 自治 高效特点的实验项目 支持多盘组 异构整合 Tracker 即跟踪器主要负责IO调度 通过负载均衡方式实现可靠 快速的资源存取 Client可以是以Service的方式对云存储提供IO服务 MogileDFSVSFastDFS Case3GIS系统地图栅格数据测试 消息队列 程序解耦消息可靠性到达异步通信提供效率 企业级消息队列 1 消息严格的排序 2 支持事务3 信息通过持久化的方式保证安全可靠代表产品 1 ApacheActiveMQ2 JbossMQ3 IBMMQ4 WeblogicJMS适合场景 企业级应用中消息可靠传输 互联网消息队列 1 消息不需要严格的排序 2 不支持事务大多数情况可接受3 读写数据非常快4 横向扩展性好代表产品 Kestrel适合场景 1 互联网应用中消息动态 Case4Kestrel性能表现 负载均衡区域 http重定向DNS负载均衡反向代理负载均衡IP负载均衡对应产品包括 nginxapachehttpdLVS 网络第四层工作 F5 硬件 四层 七层 redware 硬件 四层 七层 LVS结构 工作模式 VirtualServerviaNetworkAddressTranslation VS NAT VirtualServerviaIPTunneling VS TUN VirtualServerviaDirectRouting VS DR LVSHA结构 Case5熙康数据上传业务 Case5熙康数据上传业务 该架构主要分为如下几个部分 引入LVS主备的负载均衡模式引入基于LVS的Tomcat负载均衡引入ActiveMQ的Master Slave的模式引入基于MMM的MySQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论