五、Phoenix Query Server

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

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)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值