
ArgoDB 通过多租户机制管理资源与权限,其中,租户是一个用户或一组用户的集合,而多租户技术致力于为用户提供共用的系统或程序组件,并确保用户间资源/数据的隔离性。本文将介绍 Transwarp ArgoDB 多租户架构及其使用流程。
多租户平台架构
Transwarp ArgoDB 的多租户管理系统集账号管理、身份认证、授权与审计于一体,可对平台内的账号、数据和资源提供统一管理服务,帮助您提升数据安全性和资源隔离性、降低维护成本。

-
鉴权:支持 LDAP(轻型目录访问协议)和 Kerberos 认证方式,用户只需使用一套账号密码,即可完成多种服务的身份认证,降低管理成本,提升安全性和运维效率。
-
审计:支持对鉴权登录、用户操作、数据读写等记录信息进行审计,帮助时刻掌握数据安全,回溯安全事件根因。相关介绍,见 Transwarp Aquila 手册。
-
数据权限:提供基于角色的权限控制,支持库/表/列/行级数据的权限控制,最大限度满足业务的多样化需求。
-
存储资源:可根据业务特点合理分配数据库的存储空间,提升存储资源利用率,避免存储容量被意外占满的风险。
-
计算资源:支持根据业务对性能的要求设置调度策略,例如为核心业务预留部分算力保障其平稳运行。此外,ArgoDB 新增了 FURION 调度策略,结合权重、任务级调度等特性,可满足复杂场景下的资源精细化分配的需求。
使用流程
资源调度策略
在多租户场景下,不同权限和优先级的用户,对系统资源使用有所不同。另一方面,系统资源紧张时,优先级较高的任务对已占用资源的抢占,也是多租户场景下的一大需求。ArgoDB 提供基于 Furion Scheduler 的混合负载管理,对系统资源进行全局的调度及优化,实现系统资源利用的最大化收益。
FURION 调度模式是对已有的 FAIR 模式的扩展,二者都是完全公平策略的一种实现,且都采用加权的排序调度算法。同时 FURION 在以下方面进行了改进:
-
FAIR 的资源池之间是平行关系,FURION 资源池基于树形结构。
-
FAIR 对 TaskSet 粒度进行调度,FURION 对 Task 粒度进行调度。
使用 Furion Scheduler 配置资源调度时,可以选择以下调度策略,具体配置方式请参考分配队列计算资源:
-
FIFO 模式:先进先出调度策略,即按照任务到达的先后顺序依次进行调度。
在无任何配置的情况下,FIFO 模式也是 ArgoDB 使用的默认调度策略。 -
FAIR 模式:完全公平调度策略,第一个任务到达时会将队列所有资源给任务,当第二个任务到达时,系统会分一半的资源给该任务,以此类推。