多租户软件开发架构
企业的信息化建设是一项复杂而严密的、循序渐进的系统性工程,是与企业原有的组织架构、经营模式、产权结构等诸多方面的根本性变革互为基础和条件的。近十年来,随着spring boot框架的日益成熟,越来越多的公司项目开始考虑采用微服务框架来搭建系统。微服务架构的优势不言而喻:松耦合开发、测试、部署都可独立,易快速响应。
但现有模式下也存在着很多问题——将功能独立出来作为外部服务难以实现;每个项目的独立部署虽在代码层面实现了复用,但给资源部署和升级维护带来了巨大的浪费和困难。各项目的公共服务都需要占用服务器或容器资源,并且每次公共服务的补丁或功能升级,都需要各个应用服务分别测试与部署实施。针对这些痛点,LeaRun自然而然想到借用现在流行的“多租户”概念,将公共功能服务作为底层公共部分,供上层各业务服务来共享。
多租户技术可以实现多个租户之间共享系统实例,同时又可以实现租户的系统实例的个性化定制。通过使用多租户技术可以保证系统共性的部分被共享,个性的部分被单独隔离。通过在多个租户之间的资源复用,运营管理维护资源,有效节省开发应用的成本。而且,在租户之间共享应用程序的单个实例,可以实现当应用程序升级时,所有租户都可以同时升级。同时,因为多个租户共享一份系统的核心代码,因此当系统升级时,只需要升级相同的核心代码即可。
在流程可配置方面,在多租户的SaaS模式下,租户之间的流程和数据是完全隔离的。LeaRun.net开发平台里所有涉及到的工作流,除了预置的流程模板外,其他都是由租户自己来定义和设计的。
针对界面可配置,LeaRun.net开发平台除了有一套针对租户级别的灵活的菜单配置功能外,还提供了可视化配置界面,用户也能更方便地对数据对象进行增删改查操作。