JNPF云平台之多租户的探索
在云领域我们常常会听到一个词: 多租户 。这个词在不同的语境中有着不同的含义。本文将介绍云平台中的多租户的概念以及实现多租户支持的思路。 什么是租户 刚开始接触这个概念时,你肯定感觉“租户”这个词怪怪的。但假设我们换个词,我相信你立即就有感觉了。这个词就是“客户”(这里的客户指的就是商业上面的客户)。 一个租户就是一个客户,比方我们开发的服务是给 XXX 企业使用的,那该企业就是我们的一个客户/租户;假设这个服务是面向互联网的,那么使用该服务的每一个互联网用户都是一个客户/租户。 为什么须要多租户支持 开发人员辛辛苦苦开发出一个服务。提供给了个人/企业使用,这样就完事了么?当然不应该仅仅是这样。我们开发出一个服务。最好是可以同一时候提供给多个个人/企业使用。并且这些客户最好是共享同一套服务执行时(Runtime),这样可以大大减少服务的运维成本: 服务执行时假设分开,则运维的成本与客户数成正比(比方更新部署大量客户的场景) 节省资源(将服务所需资源利用最大化:运维团队统一、硬件使用) 另外,这样也能够减少服务的开发成本: 我们仅仅须要考虑怎样实现单用户的服务逻辑:业务逻辑相应其全部客户都是同样的,不管什么客户来使用,程序提供的服务都是一样的。进一步说,在业务层面我们开发这个服务时理论上不须要考虑多客户支持,我们仅仅用关注该服务的业务逻辑怎样实现 多客户的管理功能能够进行统一