StarRocks 架构简洁,整个系统的核心只有FE(Frontend) 、BE(Backend)两类进程,不依靠任何外部组件,方便摆设与维护。
FE 和 BE 模块都可以在线水平扩展,元数据和业务数据都有副本机制,确保整个系统无单点。StarRocks 提供 MySQL 协议接口,支持尺度 SQL 语法。用户可通过 MySQL 客户端方便地查询和分析 StarRocks 中的数据。
5.2.1 前端节点-FE
FE 是 StarRocks 的前端节点,负责管理元数据,管理客户端毗连,进行查询规划,查询调度等工作。每个 FE 节点都会在内存保留一份完备的元数据,这样每个 FE 节点都能够提供无差别的服务。
FE 有三种脚色:Leader FE,Follower FE 和 Observer FE。
Follower 会通过类 Paxos 的 Berkeley DB Java Edition(BDBJE)协议自动选举出一个 Leader。三者区别如下: