8
博客ob资源的分配流程

ob资源的分配流程-c7电子娱乐

2024-11-18设计原理

1、租户创建与资源规划阶段

  • 租户定义:在 oceanbase(ob)中,租户是资源分配的基本单位。首先,数据库管理员(dba)需要根据业务需求定义租户,例如,一个大型电商平台可能会为用户管理系统、订单处理系统、商品管理系统等分别创建租户。
  • 资源规划:在创建租户时,要考虑 cpu、内存、存储等资源的分配。dba 会根据业务的预估负载和重要性来规划资源。对于核心业务的租户,如订单处理租户,可能会分配较多的 cpu 核心和内存,以确保高并发订单处理的性能。一般会采用配额(quota)的方式来指定每个租户能够使用的资源上限。例如,设定一个租户的内存配额为 100gb,cpu 配额为 10 个核心。


2、资源分配策略确定阶段

  • 资源分配单元:ob 采用资源单元(resource unit,ru)的概念来进行资源分配。一个资源单元定义了一定量的 cpu、内存和存储资源。例如,一个 ru 可能包含 2gb 内存、0.5 个 cpu 核心和一定量的存储(如 10gb)。
  • 分配策略选择:根据租户的需求和系统资源情况,选择合适的分配策略。常见的策略有固定分配和弹性分配。固定分配是指为租户分配固定数量的资源单元,适合对资源需求比较稳定的业务。弹性分配则可以根据租户的实际负载动态调整资源单元的数量,适合负载波动较大的业务。例如,对于一个小型企业的客户关系管理(crm)租户,其工作时间负载较高,非工作时间负载较低,就可以采用弹性分配策略,在负载高时分配更多的资源单元,负载低时减少资源单元的占用,以提高系统资源的整体利用率。


3、资源分配执行阶段

  • 资源分配请求发起:当租户创建并确定资源分配策略后,通过 ob 的管理接口(如命令行工具或管理控制台)发起资源分配请求。这个请求会包含租户 id、需要分配的资源单元数量(如果是弹性分配,还可能包括资源调整的触发条件等信息)。
  • 系统资源分配:ob 的资源管理器会根据请求和系统当前的资源情况进行分配。它会首先检查系统中是否有足够的可用资源。如果资源充足,就会将指定数量的资源单元分配给租户,并在系统的资源分配表中记录租户和其对应的资源单元信息。例如,如果有一个租户请求分配 3 个资源单元,资源管理器会从可用资源池中划出 3 个包含相应 cpu、内存和存储的资源单元给该租户,并更新资源分配记录,以表明这些资源已被占用。


4、资源动态调整阶段(如果是弹性分配)

  • 负载监测:对于采用弹性分配策略的租户,ob 会持续监测租户的负载情况。这可以通过多种方式实现,如监测租户的查询请求频率、数据读写量等性能指标。例如,通过监控租户的每秒事务处理量(tps)和每秒查询率(qps)来判断负载的变化。
  • 资源调整决策:当负载指标达到预设的调整阈值时,资源管理器会做出资源调整决策。如果负载超过上限阈值,就会增加资源单元的分配;如果负载低于下限阈值,就会减少资源单元的分配。例如,若一个租户的 tps 超过设定的上限,并且系统还有可用资源,资源管理器会为该租户分配额外的资源单元,以满足业务需求;反之,若 tps 持续低于下限,资源管理器会回收部分资源单元,释放给其他租户使用。


5、资源回收阶段

  • 回收触发条件:当租户不再需要资源或者租户被删除时,会触发资源回收。例如,一个测试租户在完成测试任务后,就可以被删除,其占用的资源需要被回收。另外,租户资源使用超过配额限制或者违反资源使用规则也可能导致部分资源被回收。
  • 资源回收执行:资源管理器会将租户占用的资源单元标记为可用状态,将资源重新放回系统资源池。这些回收的资源可以在后续的资源分配请求中被重新分配给其他租户。例如,当一个租户占用的 10gb 存储资源被回收后,这 10gb 存储就可以被分配给新创建的租户或者用于扩充其他租户的资源。
点赞8
收藏

声明

本网站下的“博客”等板块为技术爱好者提供分享、交流的平台。发布者发布的任何内容、信息等,并不反映或代表本网站的观点、立场或政策。本网站不对其任何内容和信息的错误以及由此产生的损失或损坏承担任何责任。

尊重知识产权是本网站的基本原则之一,如您在使用本网站过程中发现本网站中存在侵犯您或其他第三人合法知识产权的情况,请您即可将侵权材料及初步证据提交至下述邮箱:obcompliance@oceanbase.com 。本网站将在收到材料后尽快进行审核及处理。

b

已发布 11 篇博文

相关推荐
网站地图