1、什么是Query Server
1)先认识一下Phoenix重客户端架构

在重客户端中,业务代码调用Phoenix提供的API,Phoenix将SQL转换为Hbase中API,再通过Hbase的客户端调用Hbase的服务,完成数据读写。
通过这个图我们也可以看到,Phoenix的核心功能都是在RegionServer上执行,将处理下推到服务端,以致在大数据情况下查询速度在毫秒级别。
这样的一个架构,业务应用重度融合了Phoenix和hbase客户的逻辑,依赖的jar包都几百M.
2)Phoenix轻客户端

1)从上图可知轻客户端只需要依赖一个Phoenix Client就可以,Server端变得更多了。
2)Query Server是一个HTTP Server(内置了一个Jetty),基于Apache Calcite Avatica实现
3)多个Query Server可通过负载均衡统一访问入口 ,满足高可用(如果采用Nginx,需要启用用会话保持)。
2、为什么要用Query Server
1)客户端依赖上百M的包;
2)重客户端依赖的jar太多,会经常导致包有冲突;
3)满足不了不同客户端的接入的需要;
4)一旦服务端升级,就需要升级客户端。
使用Query Server的好处
1)Query server是无状态的,可以很容易扩展
2)

本文探讨了Phoenix重客户端架构的局限性,介绍了QueryServer作为轻量级解决方案的优势,包括减少客户端依赖、提升性能和跨语言支持。讲解了如何部署、配置和使用QueryServer,以及注意事项,重点在于降低客户端复杂性和提高服务可扩展性。


被折叠的 条评论
为什么被折叠?



