版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SAAS架构设计学习笔记,1,第1章 SAAS的前世今生 软件是什么,在计算机诞生初期,软件大多数与机器融为一体的,计算机就是软件。 单独提供程序的业务被分离出来,有专门的人或公司来编写程序,软件就是一种产品。 将用户需要的软件统一布署在应用提供商的软件硬件环境中,产生了ASP(Application Service Provider) 软件不应该仅仅是提供应用托管,应该服务化,产生了SAAS。,2,第1章 SAAS的前世今生 SAAS基本概念,SAAS(Software as a Service) SAAS商业模式理论的提出,将软件从基于生产制造的第二产业,转变为基于服务的第三产业。 SAA
2、S与ASP的区别:ASP已经有了为用户提供服务的初步想法,只是关注的重点在于提供软硬件环境这样的服务,而不是软件本身。,3,第1章 SAAS的前世今生 SAAS的优势,从用户方面看,SAAS的优势是拿来即用,无须维护,按需使用,随处可用,风险减小、顾本降低、安全性高; 从软件商方面看,SAAS的优势是节省销售成本、节省维护成本、稳健经营模式,4,第1章 SAAS的前世今生 SAAS的缺点及解决办法,依赖互联网 互联网已经成为信息时代社会必不可少的基础设施,SAAS软件依赖互联网已经不是什么问题。 数据安全性 SAAS软件商必须提供高可靠性的数据存储环境。 数据保密性 一是影响和改变用户的观念
3、二是加强SAAS软件商自身的信用建设。,5,第2章 SAAS成熟度模型 SAAS的成熟度模型分级,6,第2章 SAAS成熟度模型 SAAS的成熟度模型分级,Level1定制开发:有一个客户项目,就按客户需求定制一个版本,每个客户的软件都有一份独立的代码,不同客户软件之间可以共享和重用的只有少量的可重用组件、库以及开发人员的经验 Level2可配置:客户可以通过简单的配置,让通用型的软件能够满足自己的一些个性经需求。为每个客户独立部署一个运行实例,只不过每个运行实例运行的是同一份代码。,7,第2章 SAAS成熟度模型 SAAS的成熟度模型分级,Level3高性能的多租户架构:多租户单实例的应用架
4、构才是通常真正意义上的SAAS应用架构,也就是我们通常所说的Multi-Tenant架构。 Level4可伸缩性的多租户架构:在用户数大量增长情况下,无须更改架构,而仅通过硬件设备的增加,支撑应用规模的增长。,8,第2章 SAAS成熟度模型 SAAS的成熟度模型渐进步骤,实现多租户 实现多租户架构下的高性能 实现可配置 实现伸缩性,项目,产品,多租户,高性能的 多租户,可配置的 多租户,可伸缩的 多租户,9,第3章 构建Multi-Tenant应用 SAAS多租户模式下数据隔离方案,10,第3章 构建Multi-Tenant应用 SAAS多租户设计,改造成SAAS多租户的重点在于租户管理和数据
5、隔离,11,第4章 高性能的Multi-Tenant实践 数据库层性能优化,建立合适的索引 消除大数据表连接:冗余字段 避免复杂SQL 一般情况下,应用服务器层的水平扩展更容易实现,而数据库层的扩展则比较困难。,12,第4章 高性能的Multi-Tenant实践 应用层性能优化,Cache 使用适当的Cache是提升性能的重要措施; MemCache是由Danga Interactive开发的高性能、分布式的内存对象缓存系统。 使用Cache的应用应该具备如下特征 (1)需要Cache的数据应该是读多写少的; (2)Cache是易失的,还需要增加一层逻辑,当Cache访问不到时,需要访问数据库
6、,并重新将其载入Cache.,13,第4章 高性能的Multi-Tenant实践 应用层性能优化,基于Tenant的索引搜索 最简单是使用数据库本身的like; 在开源的搜索引擎中,Lucene显然是轻量级搜索引擎的最佳选择。 统计和报表计算 在报表计算是针对历史数据,且历史数据不允许修改情况下,可以采用后台任务定时统计策略。,14,第4章 高性能的Multi-Tenant实践 应用层性能优化,异步操作 有两个不同层面的异步: 表现层异步,一般用Ajax技术来实现; 后台业务逻辑层异步,更多采用JMS、MQ技术实现,15,第5章 Multi-Tenant应用的可配置性 数据配置方案,定制字段
7、根据客户的需求在数据表上增加相应的定制字段来保存扩展数据。对于SAAS应用来说,定制的字段多如牛毛,显示不是解决SAAS应用下数据可配置的理想方案。,16,第5章 Multi-Tenant应用的可配置性 数据配置方案,预分配字段 将所有扩展数据转换成字符串进行存储,对于租户用各字段保存的真实数据类型,由租户配置并作为配置元数据进行管理。系统可以根据元数据配置信息转换成真实的数据类型。,17,第5章 Multi-Tenant应用的可配置性 数据配置方案,名值对称 可以将扩展数据的保存与原数据表分离,用一张统一的扩展数据表来保存。,18,第5章 Multi-Tenant应用的可配置性 功能配置方案
8、,功能分解:每个功能都是有价值的,每个功能都是不可再分的,功能间不相互重叠,功能间不循环依赖,整个系统是完整的。 功能定义及依赖:所谓功能依赖是指一个功能在没有另外功能情况下不能使用。 功能包设计:根据用户的类型和系统的业务逻辑,综合考虑用户的使用场景和使用习惯,将原子功能进行组合成功能包。 销售包设计:功能包不能完全的独立使用,还需要按不同的商业意图构造适宜于用户使用的销售包。 功能使用校验:在原子功能使用前,对当前用户是否可以使用该原子功能进行校验。,19,第5章 Multi-Tenant应用的可配置性 界面配置方案,系统菜单可配置:一个租户一套菜单、一个菜单关联一个原子功能、组织成树状结
9、构、同级菜单之间存在顺序问题; 页面元素可配置。,20,第6章 可伸缩的SAAS应用架构 伸缩性(Scalable)的概念,Scalable有时被翻译成“可扩展”,容易被误解为功能可扩展,实际上Scalable更多强调性能、容量方面可扩展; Scalable伸缩性要求:系统规模/容量小时,系统可缩小,大时可增加,而不需要更改系统整体架构,最理想状态是随着用户数的增加,系统架构不用做调整,而仅需要增加/增强硬件设备。 可伸缩的最简单方式就是Scale up,译为垂直扩展,也就是增强硬件设备,例如一个普通Server不行,换成小型机。此种扩展面临高成本问题。 通常强调的应用架构可伸缩,一般是指Sc
10、ale out,即水平扩展,例如Google搜索引擎是由数千数万台普通PC Server构建的。,21,第6章 可伸缩的SAAS应用架构 应用服务器层的水平扩展,应用服务器层的负载均衡,是实现应用服务器层水平扩展的最主要手段。具体策略有: 1、基于硬件负载均衡设备实现负载均衡,如F5设备。 2、基于软件的方式实现负载均衡,例如我们通过配置WebLogic Server集群(Cluster)可以实现服务网络的负载均衡、失败转移.,22,第6章 可伸缩的SAAS应用架构 基于软件的方式实现负载均衡,我们通过配置WebLogic Server集群(Cluster)可以实现服务网络的负载均衡、失败转移
11、功能: WebLogic集群用一台 WebLogic Server 做Http Proxy Server,将负载分配到集群中所有的实例,实现负载均衡。 WebLogic集群用一台WebLogic Server作为 Administrator Server,这台Administrator Server不处理请求,专门做管理。 WebLogic 集群中Managed Server之间通过Scoket通讯,集群的所有Server位于同一网段中。 失败转移与Session复制。 WebLogic Server通过 Session 复制在失败转移的时候保存用户数据,默认支持3种复制方式,In Memor
12、y、Database、File,我们采用 In Memory的方式。,23,第6章 可伸缩的SAAS应用架构 数据库层的水平扩展,相对于应用服务器层的水平扩展,数据库层的水平扩展更难实现。 实现数据库层的水平扩展有多种方式: 1、数据库的垂直切分:将不同的功能模块所涉及到的表划分表不同的物理数据库中,从而将对这些表的访问压力分担到不同物理数据库; 2、数据库的读/写分离:同一数据库在多个物理服务器上具有多份Copy,彼此同步,写操作都统一到一个主服务器上,读操作则分担到多台从服务器上; 3、数据库的水平切分:将原来存储在一个数据表中的数据,按一定规则切分到不同物理数据库中,每个数据库结构相同,
13、数据不相同。,24,第6章 可伸缩的SAAS应用架构 数据库的垂直切分,对于大部分应用而言,除非模块间关联很少,实现重直切分很难: 1、原来可能存在的表关联需要去除; 2、同一个数据库的事务操作,可能需要跨库。 结论:垂直切分可以适当采用,但很难广泛使用。,25,第6章 可伸缩的SAAS应用架构 数据库的读/写分离,对于读多写少的互联网应用,会广泛采用数据分离技术。例如MySQL的Replication技术。 从数据库也不是越多越好,从数据库服务器过多分造成主数据库服务器同步性能下降。读写比例为4:1,主从数据库服务器比例也为4:1较好。 当应用的性能瓶颈出现在写操作上时,读/写分离技术对伸缩性的提升就非常有限了。,26,第6章 可伸缩的SAAS应用架构 数据库的水平切分,可以每10000个租户共享一个数据库,再增加10000个租户则增加一个数据库。 水平切分对于大部分SA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026聚酯行业市场现状市场分析及服务评估发展研究报告
- 2026中国超算中心液冷系统配套线缆绝缘可靠性测试报告
- 2026中国果味饮料香精技术发展与感官体验优化报告
- 2026中国光刻胶化学品行业风险预警与应对措施分析
- 2026实木家具企业私域流量运营ROI测算与优化路径
- 2026实木家居企业数字化转型典型案例与效益测算报告
- 2026低压电缆行业融资模式创新与资本运作研究
- 2026中国液体化工物流竞争格局与商业模式创新研究报告
- 2026中国特种气体市场容量测算与进口替代路径研究报告
- 2026-2030中国男士风衣行业市场发展现状及竞争格局与投资前景研究报告
- 时空耦合分类模型构建-洞察及研究
- 2025年揭阳揭西县选调高中教师考试试题(含答案)
- 咯血患者介入治疗的护理讲课件
- GB/T 45472-2025架空和综合管廊用预制保温管道
- 急救与生命支持类设备管理
- 2025年湖北恩施州巴东县机关事业单位选调46人历年高频重点提升(共500题)附带答案详解
- 培训劳动纪律
- 如何做好临床护理带教组长
- 人教版六年级数学上册【全册教案】
- 车位租赁协议
- 做有梦想的少年 课件-2024-2025学年统编版道德与法治七年级上册
评论
0/150
提交评论