产业互联网平台架构怎么来搭建?

产业互联网平台的搭建及运营,是一个类似私域流量的互联网平台,并对此平台分配单独的二级域名,单独的入口,让彼此企业的业务不冲突。从技术上来说,这是一种SAAS(软件即服务)的软件架构,也是现在互联网上比较火的基于SAAS的租户平台系统,从使用者的角度看,通过那些二级域名(租户)进入系统后,只能看到此二级域名(租户)下的数据,看不到其他租户系统的数据。那么,我们要做的产业互联网平台,可以看到是一个租户系统,由企业进行申请及创建,然后通过企业去扩充,或邀请商家/买家进行入驻(打通上下游),来实现自身圈子业务的目的。

产业互联网平台架构怎么来搭建?_第1张图片

Saas架构图

那么,什么是多租户系统?其实是一种软件架构技术,也可以叫多重租赁技术,简单点讲,就是在一台服务器上运行单个应用程序,它为多个租户(客户)提供服务,并保证租户间的数据是隔离的。

从上面的介绍可以看出SAAS平台的重要部分,即数据是彼此隔离的。那么,SAAS架构的系统,在保证系统功能是同一套的前提下,怎么来实现租户数据的隔离呢?这也是我今天早会要简单介绍的内容。比较常见的2种模式是:

1)一套系统 + 独立数据库;

2)一套系统 + 共享数据库(通过租户标识来区分数据)

除了这2种模式外,还有一些其他的方式,比如独立系统+独立数据库(独立部署)一套系统 + 分片数据存储等。(说明:这里的一套系统,是指支持多租户的应用系统)。

1 一套系统 + 共享数据库

产业互联网平台架构怎么来搭建?_第2张图片

共享服务+共享数据库架构图

基于这种模式的SAAS的多租户系统,应用程序都是同一套,所有的租户的数据都是存储在同一个数据库上的同一套schema下(同一套表上,这里的表与excel的表相似),通过一个或者多个“租户标识列”来区分不同的租户的数据,以便使用者在访问系统时,通过选择性地筛选出当前租户的数据,而不会看到其他租户的数据。在这种模式下,所有“表”都是所有租户共享的。采用这种模式的优点是

1)硬件成本低,只有一个数据库;

2)数据的备份与恢复简单;

3)应用程序升级及运维简单。

缺点是

1)数据隔离级别低,容易暴露其他租户/所有租户数据;

2)数据检索的要求性高,安全性低,需要在设计开发时加大对安全的开发量,强制将查询返回的数据限定为单个租户。(可以通过全局的控制来实现“租户条件限制”,不建议由每个功能来实现“租户条件限制”,容易出错)

2 一套系统 + 独立数据库

产业互联网平台架构怎么来搭建?_第3张图片

共享应用 + 独立数据库

在这种模式下,应用程序都是部署的同一套,区别在于为每一个租户分配一个独立的数据库,每个新注册的租户,都要为其提供一套独立的数据库,保证每个租户的数据是彼此隔离的。

这种模式,通过租户来选择所要使用的数据源,不需要在功能中嵌入“租户条件筛选”的逻辑,不容易出现租户的数据互相串通的情况。采用这种模式的优点是

1)数据的隔离性强,可以按需对租户的数据权限进行控制。

2)租户数据安全性高,不会因为同在一个“表”上而导致数据错误操作,或者导出。

3)程序筛选逻辑变简单化。

4)可为租户提供定制化服务,优化数据库的性能,不会影响到其他租户。

缺点是

1)硬件成本高(相对于共享数据库) ;

2)程序的升级及运维管理较工作量大(通用功能上线);

3)数据的恢复与备份工作量大,要有专业的DBA来维护。

4)跨租户统计数据,存在一定困难。

5)需要维护数据库创建清单,或者升级清单。

3 独立系统 + 独立数据库

产业互联网平台架构怎么来搭建?_第4张图片

独立服务 + 独立数据库

这种是比较常见的部署模式,为每个企业单独部署一套系统。在这种模式中,对于每一个租户,整个应用程序需要重复部署安装一次。应用程序的每个实例都是独立实例,因此它不会与任何其他独立实例交互。每个应用程序实例只有一个租户,因此只需要一个数据库。租户拥有自己的数据库。优点是

1)数据隔离性高(比“一套系统 + 独立数据库”还要高),这种是完全的物理隔离。

2)数据安全性高(可以针对不同机器分配不同的使用权限)

3)程序开发简单,不需要关注租户的概念

4)可以提供更多的定缺化服务,不会影响其他租户系统。

缺点是

1)硬件成本高(需要较多的服务器)

2)运维管理成本高

3)程序升级与维护工作量大(当独立部署的系统多进)

4)跨租户统计数据,存在一定困难。

至于选择哪种架构模式,需要结合项目的投入、数据的规模、安全性的要求及开发运维人员的情况,来决定使用哪种模式。

文章来源公众号,ID:技术老男孩。

你可能感兴趣的:(企业数字化,中台架构,架构,数据库,big,data)