SAAS 产品演变
项目 -> 产品 -> 多租户 -> 高性能的多租户 -> 可配置的多租户 ->可伸缩的多租户
1. 开发项目 “4+1” 视图
逻辑视图:逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的"辅助功能模块";它们可能是逻辑层、功能模块等。
开发视图:开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件。开发视图和逻辑视图之间可能存在一定的映射关系:比如逻辑层一般会映射到多个程序包等。
处理视图:处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题。处理视图和开发视图的关系:开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题。
物理视图:物理视图关注"目标程序及其依赖的运行库和系统软件"最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求。物理视图和处理视图的关系:处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图。
2. 作产品 可配置化
采用:MDA (Model Driven Architecture) 模型驱动架构,设计产品来提高产品的灵活配置性。
3. 产品转到多租户
a:独立数据库
b: 共享数据库-隔离数据架构:采用schema 方式,在同一个数据库中隔离数据。
c:共享数据库-共享数据架构:采用同一个schema方式,在表上增加tenant字段。
读后感: 该章节最好部分,应该是作者采用郭靖与杨康两位人物,形式说明SAAS的开发过程,与SAAS软件成熟框架,过程中碰见的问题,个人认为 “共享数据库-隔离数据架构”的意义很大,但是当前对于该框架的性能,还有待提高,但是从数据的安全性来考虑,数据管理方面考虑,该方案还是比较理想的。
我认为对于中小客户,应该采用“共享数据库-共享数据架构”模型设计数据库结构,对于大客户或安全级别要求,较高的客户,应该采用 “共享数据库-隔离数据架构”模型设计数据库结构。
分享到:
相关推荐
在实际开发中,我们可能会使用Java Spring框架来构建Multi-Tenant应用。Spring提供了一些内置的支持,如`@PreAuthorize`注解进行权限控制,以及Spring Cloud Config作为配置中心。此外,可以结合Spring Boot的...
【标题】"leslie8195-ruo-yi-vue-multi-tenant-master_java_在线教育软件"指的是一个基于Java技术开发的在线教育平台项目,名为“若依多租户系统”,它采用Vue.js前端框架,具备多租户功能,能够支持多个独立的教育...
本项目“Laravel开发-multi-tenant”就是为实现这一目标而创建的一个轻量级解决方案。 首先,我们来理解多租户架构的基本概念。在多租户架构中,数据和配置可以根据租户进行隔离,确保每个租户的数据安全性和独立性...
SaaS多租用的数据体系架构: SIMT 原则和考虑 Multi-tenant 数据存储选择 安全和隔离 Tenant数据 自定义Multi-tenant数据模型 可扩展Multi-tenant数据
在这个项目中,`laravel-pgsql-multi-tenant-migrate-master`可能是包含整个项目的源代码目录,其中包括了自定义的Laravel artisan命令,这些命令可能被设计用来简化多租户环境中的数据库迁移过程。 在多租户架构中...
在IT行业中,多租户(Multi-Tenant)架构是一种广泛应用于云计算、SaaS(Software as a Service)等领域的设计模式。这种模式允许单个应用程序实例为多个客户提供服务,每个客户(或租户)都有自己的独立数据和配置...
本指南演示了如何使用Windows Azure从头开始创建一个多租户的软件即服务(SaaS)应用程序,以便在云中运行。
这个名为“fusionpbx-4.2.zip_freeswitch_full_fusionpbx 4.2_multi-tenant_pbx”的压缩包包含了构建和运行FusionPBX 4.2所需的所有组件和文件。下面我们将深入探讨这个系统的核心特点、功能以及它如何利用...
gem 'activerecord-multi-tenant' 支持的Rails版本 支持从4.2或更高版本(最高6.0)开始的所有Ruby on Rails版本。 该gem仅支持ActiveRecord(Rails的默认ORM),而不支持诸如Sequel之类的替代ORM。 用法 要求
藏经阁-In-Flux Limiting for a Multi-Tenant Logging Service 本文档主要介绍 Symantec 的内部云团队在构建多租户日志记录服务时遇到的挑战和解决方案。该服务使用 InfluxDB 作为时间序数据存储,旨在处理大量的...
$ git clone --recurse-submodules https://github.com/hardillb/multi-tenant-node-red-manager.git 配置 编辑settings.js文件以设置新实例的根域,以及有关如何连接到Docker的详细信息。 Docker设置应使用使用的...
这个“mybatis-plus-multi-tenancy_springboot多租户实现例子.zip”压缩包提供了一个使用SpringBoot和MyBatis Plus实现多租户系统的示例。以下是对这个项目的关键知识点的详细解释: 1. **多租户架构**:多租户是指...
这样做, prisma-multi-tenant可以使这些过程自动化,并帮助您制作多租户应用程序。 为什么我需要prisma-multi-tenant ? 因为prisma-multi-tenant不仅允许您仅使用服务器中的几行代码即可无缝访问多个数据库,而且...
mongoose-oauth-store-multi-tenant 猫鼬休息帮手 猫鼬用户存储多租户 贡献 请检查最新的母版,以确保尚未实现该功能或尚未修复该错误 检查问题跟踪器,确保没有人请求和/或提供它 分叉项目 启动功能/错误修正...
角度全栈多租户 对 yeoman 的 angular-fullstack 生成文件进行了一些修改,以允许多租户。 允许子域特定数据库和套接字连接的 SaaS 架构。 签出项目。 在您的终端/cmd 中,从项目的根目录运行以下命令。...
mongoose-oauth-store-multi-tenant 一堆猫鼬模式,用于在多租户场景中实施身份管理(访问令牌,oauth应用)。 关键概念 数据库中的每个文档都有一个_tenantId。 在单个租户方案中,此_tenantId(以前为accountId)...
在Laravel框架中,"laravel-tenant-migrate"是一个针对多租户应用的扩展,它允许我们在不同的租户环境中独立地运行数据库迁移。多租户架构是为多个客户(或租户)提供服务的一种方式,每个租户都有自己的数据和配置...
安装安装和配置密钥斗篷docker container run --name=keycloak-multi -p 8081:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloakou ./standalone.sh -Djboss.socket.binding.port-offset=1Cr...
2.找到项目目录下脚本文件/ruo-yi-vue-multi-tenant/ruoyi/multi_tenant.sql,导入到mysql 3.修改配置(未列出的配置请根据实际情况自行按需调整) # datasource spring.datasource.druid.master.url =jdbc:mysql:...