本文主要是介绍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-435:dynamic catalog restful API开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!