傻大方


首页 > 学习 >

SaaS|SaaS RES营销管理系统架构设计( 八 )



按关键词阅读: 设计 系统 管理 架构 营销 SaaS RES


(即一个schema被多个租户共享)对于以上三 。

43、种方式的比较 , 可以从下表看出:方式隔离性安全性成本独立数据库高高高一个租户一个schema中中中多个租户共享schema低低低图表 5.1.51 三种支持多租户数据结构方式比较图第一种方式 , 似乎和传统的软件没什么区别 , 只适合高端用户和隔离性要求很强的用户 , 比如医院、银行等等 , 对于普通的租户情况不适用 , 因为成本太高 。
第三种方式 , 隔离性差 , 且难以迁移、备份和恢复数据 。
因此 , 我们目前选用第二种方式 , 即一个租户一个schema的方式作为目前支持多租户的数据结构 。
5.1.6 基于单域名的租户访问方式由于用户访问方式是单域名的 , 比如举个例子来说 , 登陆流程是这样的:1.用户usera想进入系统 , 由于未登录 ,。

44、会被应用引导至登陆页面进行登陆 , 比如2.用户usera提交用户名和密码3.系统验证账户的有效性 , 如果账户有效 , 那么系统会查找出usera是属于租户A的 , 接下来构建租户A的有效路径返回给usera , 类似 (注:在存在租户个性化页面定制和按租户分区访问情况下 , url需要包含租户标识 , 如4.用户usera进入正确的访问地址了 , 如同样的 , 如果userb属于租户B , 想要登陆系统 , 同上面的步骤相同 。
考虑到可能要同多个系统做整合 , 因此 , 我们需要在多个系统之间做到单点登陆 。
Web环境下的单点登陆 , 业内已经有了很多解决方案 , 比如著名的CAS和OpenID等等 。
在这里 , 我们使用公司的单点登陆组件(基于CAS) 。
就 。

45、目前而言 , 单点登陆的账号和密码等信息是存放在数据库中的(MySQL) 。
在将来 , 也可能会将这些数据移植到LDAP中去 。
5.1.6.1 用户账号规则按照目前的规划 , 用户账号的命名规则由租户自己决定 。
举个例子来说:租户A新增了usera , userb这两个账户 , 那么租户B就不可以新增同名账户了 。
5.1.7 租户带宽上的限制SaaS模式下 , 应用都是基于互联网的 , 因此最终用户也是通过互联网来使用SaaS应用的 。
而目前的信息化程度 , 对于大多数最终用户来说 , 都是在共享带宽的环境下使用互联网 , 比如ADSL(上行512K , 下行2M) 。
这就可能会出现多个用户在共享的带宽下同时访问我们的SaaS应用的情形 , 要使得这些 。

46、用户获得良好的响应速度和体验 , 就要求我们的SaaS应用不应该占用过多的带宽资源 。
因此 , 这对我们的设计提出了更高要求 , 要尽量的减少网络带宽的占用 , 减少不必要的网络传输 , 提升web的性能等等 。
下面列举影响Web性能的主要因素:5.1.7.1 影响web性能的因素1. 页面过大:页面在500k以上2. 图片和iframe过多:会导致增加请求数3. Cookie内容过大:会导致发起请求变慢5.1.7.2 三十四条黄金守则著名的雅虎为我们提供了网站性能上的三十四条守则 , 这些守则可以约束我们的设计 , 总结列举如下:5.1.7.2.1 内容类减少http请求减少DNS查找避免跳转缓存ajax延迟加载提前加载减 。

47、少DOM元素数量用域名划分页面内容减少frame避免404错误5.1.7.2.2 服务器与Cookie类使用CDN为文件头制定Expires或Cache-ControlGZip压缩网页配置实体标签尽早刷新输出缓冲使用Get完成ajax请求减小Cookie体积对于页面内容使用无Cookie域名5.1.7.2.3 JavaScript、CSS、图片类把脚本至于页面底部使用外部JavaScript和CSS消减JavaScript和CSS提出重复脚本减少DOM访问开发智能事件处理程序把样式置于顶部避免使用CSS表达式(Expression)使用外部JavaScript和CSS用代替import避免使用 。

48、滤镜优化图像优化CSS Sprites不要在HTML中缩放图像favicon.ico要小且可缓存5.1.7.2.4 移动应用类保持单个内容小于25KB打包组件成复合文本5.1.7.3 业务处理上在业务处理上 , 对需要展现的信息进行分析 , 尽量展现比较少的数据 , 比如在一般的分页查询之中 , 每页展现10条数据 。
5.1.8 租户存储数据分离和受限动态路由在之前的架构分析上 , 我们选择了“每个租户对应一个schema”的策略 。
而对于MySQL来说 , 一个MySQL实例中大约只能存放1000个schema , 如果再多的话 , 可能会对数据库的启动和性能产生影响 。
因此 , 这个限制使得一个MySQL数据库实例只可为近1000 。

49、的租户提供服务 , 如果租户超过1000那就需要另外准备一个MySQL实例了 。
而我们的应用程序都是相同的 , 这就要求我们的程序必须能感知到这一点 , 然后把租户SQL正确的发送给正确的MySQL实例上 。


稿源:(未知)

【傻大方】网址:/a/2021/0902/0024073868.html

标题:SaaS|SaaS RES营销管理系统架构设计( 八 )


上一篇:绩效考核表格大全|绩效考核表格大全 公司产品知识检查表

下一篇:外研社|外研社新标准一起点小学英语三年级上册期末试题10