资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Forerunner in Logistics Public Information Platform,Hubei Zhongke,Copyright 2013,湖北中科信息技术分公司 2013/09/20,SaaS-软件即服务,- 知识培训,云计算(Cloud Computing ),云计算是一种服务的交付和使用模式,它通过互联网将硬件,平台,软件以按需的形式交付给最终用户。,IaaS 基础架构即服务 PaaS 平台即服务 SaaS 软件即服务,SaaS 定义,Software-as-a-service 软件即服务 软件运营服务模式,简称软营模式,SaaS是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。,SaaS 与传统服务模式区别,SaaS模式,互联网特性 多用户租赁 服务多元,按需订购 无需额外增加IT人员 方便、灵活、便于升级 无须额外IT人员、无须硬件成本、不需要系统软件,传统服务模式,可用可不用互联网 一次性投资 不能按需订制,只能购买成品 受空间、设备等限制,运营成本和风险高 升级不便,两者区别,SaaS 关键特性,功能、流程可配置 高性能多租户架构 高伸缩的多租户架构,SaaS 成熟度模型,根据SaaS应用的可配置性、高性能、可伸缩性的特性,SaaS成熟度模型被分成四级。,SaaS 多租户架构,database,application,租户,application,database,a) 应用融离,数据库隔离,b) 应用共享,数据库隔离,c) 应用共享,数据库共享,租户,租户,租户,application,database,application,c 1) 数据schema隔离,c 2) 数据库schema共享, 通过租户ID区分,schema1,schema2,schema3,database,application,租户,database,application,租户,database,database,database,application,租户,租户,租户,租户,租户,租户,租户,租户,租户,理想模型,SaaS 多租户设计,用户与租户的映射关系,一个租户下可以有多个用户账号 1:n,SaaS 多租户设计,租户计费,PricePolicy:价格策略,支持按时间(月、季、年)、按次数计价,以unit表示; Subsciber:订购记录,记录租户选择了何种价格策略,以及服务期限或服务次数。,10,SaaS 多租户设计,多租户数据配置方案,名值对称(元数据设计) 可以将扩展数据的保存与原数据表分离,用一张统一的扩展数据表来保存。,SaaS 多租户设计,界面(UI)可配置方案,系统菜单可配置:一个租户一套菜单、一个菜单关联一个原子功能、组织成树状结构、同级菜单之间存在顺序问题 页面元素可配置(使用元数据,定义数据模型,对象,窗体,工作流等),SaaS 高性能,可伸缩多租户关注,数据存储与访问 数据缓存 应用服务器 Web Server 分布式文件 负载均衡,SaaS 数据存储,SaaS 数据存储,实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。,1. DBMS保存全部数据,主要完成交易类数据的读写 2. 通过同步技术把DBMS的数据同步到NoSQL数据库中 3. NoSQL负责完成历史数据的查询统计分析等工作,SaaS 数据存储,NoSQL数据库-MongoDB,基于分布式文件存储的数据库,SaaS 数据存储,MongoDB与SQL组合,采用SQL与mongoDB混搭的模式,利用NoSQL数据 的列可以动态扩展的优势来避免在关系数据库为了 扩展所采用行转列导致的数据爆炸性增长的问题 1. 面向集合的存储:适合存储对象及JSON形式的数据。 2. 动态查询:Mongo支持丰富的查询表达式。 3. 完整的索引支持:包括文档内嵌对象及数组。 Mongo的查询优化 器会分析查询表达式 4. 复制及自动故障转移。,SaaS 数据缓存,第一次,从数据库读取数据,并写入缓存 第二次,从缓存读取数据,如果数据不存在, 那么,在去数据库查询数据,目的: 避免磁盘IO提高效率,减轻数据库压力,SaaS 数据缓存,客户端,App Server,Memcache,EHCache,Memcache,Memcache,Memcache,App Server,EHCache,采用Memcached 作为分布式缓存 为了保证系统执行效率采用ehCache作为二级缓存 在ehcache设置缓存时间,过期后到Memcached 组成的缓存池获得数据。,SaaS 应用服务器Session管理,SaaS 应用服务器Session管理,有状态应用方案-memached-session,客户端,App Server,Memcache,Memcache,Memcache,Memcache,App Server,memcached-session-manager具有如下特性: 1. 支持tomcat6和tomcat7 2. 能够保持sticky会话和none sticky会话 3. 能够支持tomcat失败转移 4. 能够支持Memcached失败转移 5. 实现session序列化 6. 可以实现session的异步存储 7. Session修改更新Memcached 8. JMX管理和监控,SaaS 应用服务器Session管理,Terracotta,1. Terracotta 本身支持集群,避免单点故障(双机或者多机镜像) 2. Terracotta的基础是分布式数据共享和线程协同 3. 不是通过对象序列化的方式传输,支持Field级别的变更同步 4. 不需要修改程序 5. 支持目前主流的中间,客户端,App Server,Terracoatt,Terracoatt,Terracoatt,Terracoatt,App Server,agent,Apache vs Nginx vs lighttpd 反向代理等功能,SaaS - Web服务器,1. 作为老牌HttpServer,Apache Httpd在功能表现上令人满意,配置相对简单,功能丰富并且稳定,可以任意编译添加所需功能的模块 2. Nginx作为新兴的HttpServer,在性能表现上令人满意,功能相对丰富,作为功能相对简单的应用前台HttpServer是可以推荐的,而且HttpServer可以做到动态更改配置文件,不需要长时间中断服务 3. Lighttpd性能表现很好,但是在功能上有很多不稳定之处,SaaS - Web服务器,静态资源(图片,js脚本,css等)使用单独的服务器处理请求,浏 览 器,静态资源,静态资源,动态请求,动态请求,动态请示,动态请示,SaaS 分布式文件,SaaS业务系统面临着海量文件数据的存储问题,这些文件数据大小在几K几十K不等但数目非常庞大,处理这些海量数据小文件传统文件系统已经不能满足要求,系统在scaling的过程中都遇到了这样的问题:磁盘IO过高;备份困难;单点问题,容量和读写无法水平扩展,还存在故障的可能。使用分布式存储技术来解决文件数据管理和容量扩展等方面的问题,SaaS 分布式文件,分布式文件系统工作原理,存储节点,即Storage Cluster,完成文件管理的所有功能。包括存储、同步和提供存取接口;同时通过对meta data的管理实现了IO的并行和高效访问。 具有云存储虚拟、自治、高效特点的实验项目,支持多盘组、异构整合。 Tracker,即跟踪器主要负责IO调度,通过负载均衡方式实现可靠、快速的资源存取。 Client可以是以Service的方式对云存储提供IO服务。,SaaS 负载均衡,http重定向 DNS负载均衡 反向代理负载均衡 IP负载均衡 对应产品包括: nginx apache httpd LVS(网络第四层工作) F5(硬件,四层/七层) redware (硬件,四层/七层),SaaS 负载均衡,LVS结构,工作模式: Virtual Server via Network Address Translation(VS/NAT) Virtual Server via IP Tunneling(VS/TUN) Virtual Server via Direct Routing(VS/DR),SaaS 负载均衡,LVS + HA结构,SaaS 负载均衡,F5负载均衡,链路的负载均衡 应用于有多条ISP网络出口 2. 防火墙负载均衡 3. 服务器负载均衡 基于虚拟IP技术,SaaS 平台案例,SalesForce CRM 阿里软件 Google Apps 神码在线 八百客,欢迎提问,Thank You !,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号