Presto 动态数据源改造方案
Presto 数据源加载机制原生是基于文件系统的,从配置目录中加载 数据源配置文件,从而实现不同源的数据库连接,而且整个过程是在presto集群启动时执行。而我们需要动态的增加/删除 数据源,并且不重启整个presto集群,所以对presto 加载数据源部分做了改造:
- 对外新增两个EndPoint:增加数据源API 和 删除数据源API
- 数据源的配置从文件系统迁移到数据库
- 在不重启集群的前提下,动态更新presto 数据源连接信息
动态增加/删除数据源,新增catalog endpoint
新增两个接口,用于向presto/trino 动态的增加和删除数据源:
POST
http://{presto-api-base-url}/v1/catalog/add
DELETE
http://{presto-api-base-url}/v1/catalog/delete
处理的流程图: