本文主要是介绍Clickhouse LB实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目前Clickhouse在线上使用,不管是多分片还是多副本都是以集群方式部署,那么对外暴露多台Clickhouse服务,通常会通过LB方式使每台服务器能够均匀的接受到客户端的请求,另外一点就是在其中一台服务发生故障,仍然能通过故障转移方式正常对外提供服务。接下来会介绍关于Clickhouse通常使用的两种LB方案。
BalancedClickhouseDataSource
BalancedClickhouseDataSource是官方提供的一种负载数据源,只需要填写多个地址即可,使用方式如下:
String url="jdbc:clickhouse://xxxx:8123,xxxx:8123/default";
BalancedClickhouseDataSource dataSource=new BalancedClickhouseDataSource(url);
Connection connection=dataSource.getConnection();
//query insert
connection.close();
connection是以http方式与服务端建立请求链接,每一次调用getConnection 都会建立一次新的链接,并且是以随机的方式与集群中的一台服务建立链接,如果其中一个服务挂掉,BalancedClickhouseDataSource在默认情况下是无法检测出
这篇关于Clickhouse LB实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!