Flink+Doris 实时数仓
Doris基本原理
Doris基本架构非常简单,只有FE(Frontend)、BE(Backend)两种角色,不依赖任何外部组件,对部署和运维非常友好。架构图如下
可以 看到Doris 的数仓架构十分简洁,不依赖 Hadoop 生态组件,构建及运维成本较低。
FE(Frontend)以 Java 语言为主,主要功能职责:
- 接收用户连接请求(MySql 协议层)
- 元数据存储与管理
- 查询语句的解析与执行计划下发
- 集群管控
FE 主要有有两种角色,一个是 follower,还有一个 observer,leader是经过选举推选出的特殊follower。follower主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。
而 Observer 不会参与选举,因此 Observer 也不会成为 Master 。 一条元数据日志需要在多数 Follower 节点写入成功,才算成功。比如3个 FE ,2个写入成功才可以。这也是为什么 Follower 角色的个数需要是奇数的原因。 Observer 角色和这个单词的含义一样,仅仅作为观察者来同步已经成功写入