多租户软件开发架构
企业的信息化建设是一项复杂而严密的、循序渐进的系统性工程,是与企业原有的组织架构、经营模式、产权结构等诸多方面的根本性变革互为基础和条件的。近十年来,随着 spring boot 框架的日益成熟,越来越多的公司项目开始考虑采用微服务框架来搭建系统。微服务架构的优势不言而喻:松耦合开发、测试、部署都可独立,易快速响应。
但现有模式下也存在着很多问题——将功能独立出来作为外部服务难以实现;每个项目的独立部署虽在代码层面实现了复用,但给资源部署和升级维护带来了巨大的浪费和困难。各项目的公共服务都需要占用服务器或容器资源,并且每次公共服务的补丁或功能升级,都需要各个应用服务分别测试与部署实施。针对这些痛点,LeaRun 自然而然想到借用现在流行的“多租户”概念,将公共功能服务作为底层公共部分,供上层各业务服务来共享。
多租户技术或称多重租赁技术,它是一种软件架构技术 ,是实现在多用户环境下(一般是面向企业用户)共用相同的系统或应用组件,并且可确保各用户间数据的隔离性。
多租户技术可以实现多个租户之间共享系统实例,同时又可以实现租户的系统实例的个性化定制。通过使用多租户技术可以保证系统共性的部分被共享,个性的部分被单独隔离。通过在多个租户之间的资源复用,运营管理维护资源,有效节省开发应用的成本。而且,在租户之间共享应用程序的单个实例,可以实现当应用程序升级时,所有租户都可以同时升级。同时,因为多个租户共享一份系统的核心代码,因此当系统升级时,只需要升级相同的核心代码即可。
多租户技术对业务场景的抽象实现,可以大大增强平台的通用性。从通用性到场景化,需要遵循底层通用架构的基础上,在中间层形成场景化的产品功能展现,并结合场景在操作流程性和数据管理层面做好衔接,这也是对产品可配置性能力的考验。
在流程可配置方面,在多租户的 SaaS 模式下,租户之间的流程和数据是完全隔离的。LeaRun.net 开发平台里所有涉及到的工作流,除了预置的流程模板外,其他都是由租户自己来定义和设计的。
界面可配置通常包括两个方面:系统菜单可配置和内容可配置。前者除了系统菜单名称可配置外,菜单的层次结构及分布都应该是可配置的。而页面内容可配置,主要是考虑到不同的租户对页面元素的个数、位置、顺序,甚至元素的含义可能都会有一些个性化的需求。
针对界面可配置,LeaRun.net开发平台除了有一套针对租户级别的灵活的菜单配置功能外,还提供了可视化配置界面,用户也能更方便地对数据对象进行增删改查操作。
这套多租户设计架构,不仅节约了开发和公共服务资源,还实现了项目的共享,增强多租户架构的可维护性和可扩展性。同时优秀的可配置功能将无须用户理解的复杂度巧妙包装起来,以更灵活和性价比更高的方式服务日益追求个性的客户。用户可以前往www.learun.cn/Home/VerificationForm进行体验。
评论