Kyuubi架构

采用通过Zookeeper服务发现的多进程架构
kyuubi进程架构.drawio.svg
不同的引擎会启动不同的绿色部分,上图是只启动了FlinkSQLEngine的情况。

关键点

Session Manager 会话管理器,每一个Session对应一个SQL的上下文
RPC协议

Flink 原生类

Kyuubi的Flink模块依赖Flink SQL Client模块

Flink SQL Client模块类快速入门

flink-sql-client类图.drawio.svg
DefaultContext
�LocalExecutor
SessionContext

LocalExecutor就相当于Flink自己的Session Manager 会话管理器

SessionContext初始化需要DefaultContext,其中DefaultContext类包含Flink的配置,所以每个Session可以有不同的配置。