trino-435:dynamic catalog restful API开发

前置内容

restful API开发所在的位置core->trino-main->metadata模块下。主要实现查看已有catalog、注册catalog实现动态扩展、catalog的删除操作。coordinator和worker节点对该功能接口的实现是有区别的:

  • coordinator节点包含查看已有catalog、注册catalog实现动态扩展、catalog的删除操作这三个功能。
  • coordinator注册catalog实现动态扩展会先通知所有worker节点点同步catalog,等worker节点同步成功后,然后再实现自身的注册,使得coordinator和worker节点的catalog保持一致
  • coordinator catalog的删除API仅仅删除coordinator节点缓存的catalog和数据库存储的catalog,不和worker节点产生交互。coordinator节点有异步任务来保证coordinator和worker节点catalog的一致性。
  • worker几点仅支持查看已有catalog、注册catalog实现动态扩展,并且注册catalog不和数据库产生交互。仅仅将catalog注册到worker节点的本地内存中

一、功能设计

由于coordinator和worker节点对于dynamic catalog restful API有不同的实现方式,因此设计了如下实现方式。首先声明了一个DynamicCatalogServer接口,CoordinatorDynamicCatalogServer、WorkerDynamicCatalogServer实现了该接口,这两个实现类分别对应了coordinator节点和worker节点

你可能感兴趣的:(【trino】,大数据)