Doris BE资源隔离和FE负载均衡详解

1、Doris资源隔离:
Apache Doris 推出了基于资源标签(Resource Tag)的隔离方案,
包括集群内节点级别的资源组划分以及针对单个查询的资源限制,实现了不同用户间的资源物理隔离。
Apache Doris 自2.0版本起,推出了基于 Workload Group 的管理方案,实现了 CPU 资源的软限,
在新发布的2.1版本基于Linux内核提供的CGroup技术,进一步地实现了对CPU资源的硬限,为用户提供更好的查询稳定性。

Resource Tag本质是通过对 BE 节点的分组实现了资源隔离
优点是:
隔离性好,多个租户之间通过物理机隔离,对 CPU、内存、IO 都实现了完全的隔离;
故障隔离,当一个租户出现问题(比如进程崩溃),另外一个租户丝毫不受影响;
基于这个技术,有的用户将不同的资源组放置到不同的物理机房内,实现同城2个机房的双活。
局限性:
读写隔离场景下,当写入负载停止时,Tag 为 Write 的机器就处于空闲状态,从而降低整个集群的资源利用率,显然无法满足用户对资源充分利用的期望。
多租户场景下,同一个租户内的多个业务方的负载之间也会相互影响。即使可以通过为每个业务方配置单独物理机来满足隔离性,却带来了高成本、低资源利用率等问题。
灵活性差,租户的数量实际是跟副本数绑定的,如果要建立 5 个租户,那么至少需要有 5 个副本才可以,这在一定程度上造成了存储空间的浪费。

Workload Group是通过对工作负载进行分组管理,实现对内存和 CPU 资源的精细化管控。
通过将用户执行的Query与Workload Group相关联,限制单个Query在单个BE节点上的CPU和内存资源的百分比。
同时可以配置开启内存资源限制,集群资源紧张时自动终止组内高内存占用查询以缓解压力。
资源空闲时,多个Workload Group共享空闲资源并自动突破限制,确保查询稳定执行。
CPU资源的限制可细分为软限和硬限,CPU软限具备资源利用率更高的特点,允许在资源空闲时候灵活分配资源;
而CPU硬限则更侧重于性能稳定性的保障,确保各Group之间不会因负载变化而相互干扰。

Workload Group与Resource Tag的方案主对比:
从计算资源的角度来说,
Workload Group是对BE进程内的CPU和内存资源进一步划分,多个Workload Group需要在同一个BE上竞争资源。
而Resource Tag则是对BE节点进行分组,不同业务方的负载发送到不同分组的BE上实现资源隔离,不同BE分组间的业务负载不会有直接的资源竞争。
从存储资源的角度来说,
Workload Group无需关注存储资源,只关注单BE内计算资源的分配。
Resource Tag则需要对数据的副本进行分组,确保需要隔离的业务方数据分布在不同的BE上。

2、Doris FE负载均衡
Doris完全兼容了mysql协议,并且Doris FE本身通过多follower选举机制选举出master,可以保证fe本身的高可用性,也可以通过加入observer fe节点来提高fe的读并发能力。
但是对于前端连接来讲,还是需要显示执行要连接的fe的url(jdbc)或host ip地址.
通过这种方式,如果要访问的fe挂掉的话,上面的应用层就会出错。
通过这种方式来访问Doris提供的服务,应用层代码是不够健壮的。
Doris官方提供了几种fail over和load balance的方案,总结如下:

  1. 自己在应用层代码进行重试和负载均衡。比如发现一个连接挂掉,就自动在其他连接上进行重试。应用层代码重试需要应用自己配置多个doris前端节点地址。
  2. 如果使用mysql jdbc connector来连接Doris,可以使用jdbc的自动重试机制:
    jdbc:mysql://[host:port],[host:port]…/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]…
  3. 应用可以连接到和应用部署到同一机器上的mysql proxy,通过配置mysql proxy的failover和loadbalance功能来达到目的,或者使用F5实现负载均衡(建议)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值