Doris集群高可用方案概述
支持MySQL协议的客户端通过FE与Doris集群建立连接,为了防止单点故障通常需要部署多个FE节点,并在多个FE上部署负载均衡来实现Doris的高可用。
根据不同业务的使用场景,可以选择如下的方式配置Doris高可用功能:
- 业务侧代码实现
- SDK
- ELB负载均衡
业务侧代码实现
在业务应用层通过代码进行重试和负载均衡,当发现某个连接中断,就自动在其他FE上建立连接进行重试。应用层代码重试需要用户自行配置多个Doris FE节点地址,做侵入式修改。
SDK
服务通过MySQL协议与Doris建立连接,部分语言的SDK已经提供了高可用能力,例如MySQL JDBC可以使用自动重试机制,建立连接时通过如下配置设置数据源:
jdbc:mysql:loadbalance://[host1][:port],[host2][:port][,[host3][:port]]...[/[database]][?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
ELB负载均衡
基于ELB的部署架构,可以将用户访问流量自动均匀分发到多台后端节点,扩展系统对外的服务能力,实现更高水平的应用容错。当其中一台Doris后端节点发生故障时,ELB通过故障转移方式正常对外提供服务,详细操作请参见配置通过ELB访问Doris集群。