RemoteInterpreter核心方法流程
RemoteInterpreter可理解为框架内不同功能解释器代理实现,通过本类内一系列方法完成目标解释器开启、SQL等数据治理需求语句处理及最终结果获取等过程实现。
RemoteInterpreter
该类可以理解为Thrift协议的客户端Client,client通过RemoteInterpreterProcess类内getOrCreateInterpreterProcess()方法获得具体对象。
RemoteInterpreterService
该类可理解为Thrift协议的服务端Service ,RomoteInterpreter 类和 RemoteInterpreterServer 类是通过 Thrift 协议实现交互的关联类,当在主进程中调用 RomoteInterpreter 类的 Client 对象的方法时,其实会调用 RemoteInterpreterServer 类的同名的方法,即createInterpreter( )方法,RomoteInterpreter 类存有 RemoteInterpreterProcess的对象,通过这个对象可以获取到 Thrift 的 Client 对象。
注:Thrift 协议简单来说就是:有一个 Client 和 Server ,两个运行在不同的 JVM,Server端指定对外开放端口,Client通过开放的端口调用服务器相应的方法,相应方法在 XXX.thrift 文件中定义,然后可以直接使用 Thirft 官方提供的工具和 XXX.thrift 文件生成指定语言的代码,然后使用时只需要遵循规范实现一些类即可。