SaaS 架构设计SaaS 架构设计 1SaaS 成熟度模型分级 2RUP “4+1〞视图模式(逻辑视图/过程视图/开发视图/物理视图+场景视图)3MDA(Model Driven 人「3 计 0 世 11©)模型驱动架构 3SaaS 的平安性设计 4平安性.4SaaS 下的平安性设计很重要.一般常见的平安性设计分为两类:系统级和程序级.5(1 ) 系统级:5(2 ) 程序级:5现在 SaaS Multi-Tenant 在数据存储上存在三种主要的方案 6(1 )方案一:独立数据库 6(2 )方案二:共享数据库,隔离数据架构 6(3 )方案三:共享数据库,共享数据架构.7数据库层性能优化 8建立适宜的索引 8消除大数据表连接 8应用层性能优化:Cache9日志记录 9(1)行为日志记录 10(2)数据日志记录 10(3)日志记录的平安 1. 0专业专注数据加密算法(会牺牲一定性能)11基于 SaaS 云计算网络性能测试指标 12(1)新建速率 12(2)并发数 12(3 )吞吐量 13(4 )响应时间 13SaaS 成熟度模型分级根据 SaaS 应用是否具有可配置性、高性能、可伸缩性的特性,SaaS 成熟度模型被分成四级.每一级都比前一级增加以上三种特性的一种.可配置高性能可伸缩性特点Level 1定制开发XXX设备托管Level 2可配置VXX设备共享、可配置化Level 3高性能的多租户架构(Multi-Tenant)VVX多租户、数据隔离、高性能Level 4可伸缩性的多租户架构VVV专业专注■ ■■■■ ■RUP “4+1 〞视图模式(逻辑视图/过程视图/开发视图/物理视图+场景视 图)•场景视图:用例图,描述用户的业务场景,从用户的角度标识出业务需求,它是架构设计的起点和终点;•逻辑视图:就是对象模型.逻辑视图重点在于功能,功能包括可见的业务功能,也包括不可见的系统功能(如日志、权限、事务等).同时更重要的是确立逻辑分层、模块划分和模块之间的依赖关系;•开发视图:用于描述开发环境下的静态组织.从开发环境、技术架构、分层策略和目录结构 4 个方面阐述;•过程视图:聚焦在进程、线程等运行时概念,以及相关的并发、同步、通信等问题.如果本系统不需要考虑 这些方面,本视图可以省略;•物理视图:也叫部署视图描述软件如何映射到硬件,反映系统在分布/部署上的设计.MDA(Model Driven Architecture)模型驱动架构MDA 利用元数据模型,可以方便灵活地实现可配置化.MDA(Model Driven Architecture)是模型驱动架构,它是由 OMG 定义的一个软件开发框架.它是一种基于 UML 以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换.和 ...