ClickHouse的負載均衡如何做。

2021-10-25 03:24:57 字數 2289 閱讀 3361

1,負載均衡。

目前我們公司後台使用clickhouse,來做資料的離線分析;配置為四台集群(shard)

通過springboot+clickhouse-jdbc完成服務與clickhouse jdbc的連線;使用的是clickhouse官方,balancedclickhousedatasource(urls,properties),做到四台服務之間的負載均衡;網上很多資料都表示

這個包雖然可以做到一定程度的負載均衡,但是無法做到故障轉移;按照大家的推薦,我本地是nginx搭建clickhouse-jdbc 負載均衡的服務

upstream clickhouse

server

location /

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#error_page 500 502 503 504 /50x.html;

location = /50x.html

# proxy the php scripts to apache listening on 127.0.0.1:80

##location ~ \.php$

# pass the php scripts to fastcgi server listening on 127.0.0.1:9000

##location ~ \.php$

# deny access to .htaccess files, if apache's document root

# concurs with nginx's one

##location ~ /\.ht

}

clickhouse.test.address:jdbc:clickhouse://ip:18123

clickhouse.test.db:test

clickhouse.test.sockettimeout:30000

clickhouse.test.username:**

clickhouse.test.password:***

clickhouse.test.connection-timeout:2000

clickhouse.test.alive-test-interval:1

server.port=8181

@configuration

sqlsessionfactoryref ="dwstsqlsessionfactory" )

public class clickhouseconfig

@bean(name = "configuration")

public org.apache.ibatis.session.configuration globalconfiguration()

@bean(name = "sqlsessionfactory")

public sqlsessionfactory clickhousesqlsessionfactory(@qualifier("datasource") datasource clickhousedatasource, @qualifier("configuration") org.apache.ibatis.session.configuration configuration) throws exception

}

@data

@component

@configurationproperties(prefix = "clickhouse.test")

public class localproperties

雖然balancedclickhousedatasource在一定程度上能做到負載均衡;如果不能做到故障轉移,會很大程度上失去負載均衡的好處;本文通過實踐,完成了clickhouse jdbc slb 的伺服器搭建,為更好的使用clickhouse提供了幫助

3,如果是flink寫入到clickhouse,呼叫的jar包

ru.ivi.opensource

flink-clickhouse-sink

1.0.0

也可用通過負載均衡做批量寫入。

jar包自動做負載均衡。

DNS負載均衡 Nginx 負載均衡的種類

dns負載均衡 當乙個 有足夠多的使用者的時候,假如每次請求的資源都位於同一臺機器上面,那麼這台機器隨時可能會蹦掉。處理辦法就是用dns負載均衡技術,它的原理是在dns伺服器中為同乙個主機名配置多個ip位址,在應答dns查詢時,dns伺服器對每個查詢將以dns檔案中主機記錄的ip位址按順序返回不同的...

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

負載均衡總結 四層負載均衡和七層負載均衡的區別

一 四層負載和七層負載的對比 在osi七層模型的第4層工作,即tcp層,其不會理解上層的協議如 http ftp等.由上圖,在四層負載裝置中,把client傳送的報文目標位址 原來是負載均衡裝置的ip位址 根據均衡裝置設定的選擇web伺服器的規則選擇對應的web伺服器ip位址,這樣client就可以...