- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java 学习笔记梦想成就未来
java 学习笔记
梦想成就未来
作者:李辉
PAGE
PAGE 1 / 8
SaaS架构设计
SaaS架构设计 1
SaaS成熟度模型分级 1
RUP “ 4+”1视图模式(逻辑视图 / 过程视图 / 开发视图 / 物理视图 +场景视图) 2
MDA(Model Driven Architecture) 模型驱动架构 2
SaaS的安全性设计 2
安全性 3
SaaS下的安全性设计很重要。一般常见的安全性设计分为两类:系统级和程序级。 3
( 1) 系统级: 3
( 2) 程序级: 3
现在 SaaS Multi-Tenant 在数据存储上存在三种主要的方案 4
( 1) 方案一:独立数据库 4
( 2) 方案二:共享数据库,隔离数据架构 4
( 3) 方案三:共享数据库,共享数据架构 4
数据库层性能优化 5
建立合适的索引 5
消除大数据表连接 5
应用层性能优化: Cache 5
日志记录 6
( 1) 行为日志记录 6
( 2) 数据日志记录 6
( 3) 日志记录的安全 6
数据加密算法(会牺牲一定性能) 7
基于 SaaS云计算网络性能测试指标 7
( 1) 新建速率 7
( 2) 并发数 7
( 3) 吞吐量 8
( 4) 响应时间 8
SaaS 成熟度模型分级
可配置高性能可伸缩性特点×××设备托管√×
可配置
高性能
可伸缩性
特点
×
×
×
设备托管
√
×
×
设备共享、 可配置化
Level 1 定制开发Level 2
可配置
Level 3
高性能的多租户架构
( Multi-Tenant )
√ √ ×
多租户、数据隔离、高性能
Level 4
可伸缩性的多租户架构
√ √ √
RUP “ 4+1 ”视图模式(逻辑视图 / 过程视图 / 开发视图 / 物理视图 +场景视图)
场景视图:用例图,描述用户的业务场景,从用户的角度标识出业务需求,它是架构设计的起点和终点;
逻辑视图:就是对象模型。逻辑视图重点在于功能,功能包括可见的业务功能,也包括不可见的系统功能(如日志、权限、事务等) 。同时更重要的是确立逻辑分层、模块划分和模块之间的依赖关系;
开发视图:用于描述开发环境下的静态组织。从开发环境、技术架构、分层策略和目录结构 4 个方面阐述; 过程视图:聚焦在进程、线程等运行时概念,以及相关的并发、同步、通信等问题。如果本系统不需要考虑这
些方面,本视图可以省略;
物理视图:也叫部署视图描述软件如何映射到硬件,反映系统在分布 / 部署上的设计。
MDA(Mod el Driven Architecture) 模型驱动架构
MDA 利用元数据模型,可以方便灵活地实现可配置化。
MDA(Model Driven Architecture) 是模型驱动架构,它是由 OMG 定义的一个软件开发框架。它是一种基于 UML 以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和 UML 相比, MDA 能够创建出机器可读和高度抽象的模型, 这些模型独立于实现技术, 以标准化的方式储存。 MDA 把建模语言用作一种编程语言而不仅仅是设
计语言。 MDA 的关键之处是模型在软件开发中扮演了非常重要的角色。
SaaS 的安全性设计
一般常见的安全性设计分为两类:系统级和程序级。系统级:
使用 HTTPS协议以 SSL( Security Socket Layer)交换数据,增强通信安全;通过数字签名防止传输过程篡改;
对用户身份识别的 UserToken 使用 DES算法数据加密; 业务数据定时自动备份;
程序集:
完整的权限配置,包括功能权限和数据权限;
客户端输入校验,防止 JS攻击、 XSS攻击、 SQL注入等; 辅助安全设计,比如密码控件、图片验证码、手机确认码等;
安全性
安全压倒一切。 大多数用户只是问问 SaaS厂商是不是采用了安全套接层 (SSL技)
这个方面。要向潜在的 SaaS厂商询问下列问题:
●放置服务器的数据中心有没有 24×7 全天候的物理安全措施?
●数据中心有没有得到保护 (保安是不是 24 小时在周围至少巡视一次 )?
●谁有权访问这些服务器 (只有内部员工可以访问,还是承包商也可以访问? )
术, 而安全性涵盖的不仅仅只有
●有没有日志记录谁何时进入、何时离开?如果有日志,那么隔多长时间审计这些日志?
●应用程序有没有使用基于行业标准的 128 位加密技术?
●如果多个客户使用的应用程序放在同一台服务器上,那么它们有没有采用逻辑或物理分隔,从而确保你的数据不被未授权的人所看到?
SaaS 厂商中可以访问
文档评论(0)