cassandra的連線池配置

2021-07-02 07:37:42 字數 1792 閱讀 9756

**:

cassandra的連線池配置

cassandra的datastax驅動使用的是非同步nio實現的,發出去的請求,不會阻塞執行緒,當有響應的時候會通知你。所以cassandra客戶端和伺服器之間不需要太多的連線,因為傳送乙個請求是很快的,只要乙個執行緒不斷監聽響應就可以了。

cassandra的配置方式如下:

123

4567

8910

poolingoptions poolingoptions =

new poolingoptions();

poolingoptions

.setmaxsimultaneousrequestsperconnectionthreshold

(hostdistance.local, 32);

poolingoptions.setcoreconnectionsperhost

(hostdistance.local, 2);

poolingoptions.setmaxconnectionsperhost

(hostdistance.local, 4);

cluster cluster = cluster.builder()

.addcontactpoints

("192.168.1.101"

).withcredentials

(username, password)

.withpoolingoptions

(poolingoptions);

這就完成了乙個對連線池的配置。

setcoreconnectionsperhost(hostdistance.local, 2);

表示和集群裡的機器至少有2個連線。注意是和集群裡的每個機器都至少有2個連線。

setmaxconnectionsperhost(hostdistance.local, 4);

最多有4個連線

setmaxsimultaneousrequestsperconnectionthreshold(hostdistance.local, 32);

每個連線允許32請求併發。

也就是說你這個配置,最多允許(32*4*機器個數)個併發請求。如果太多的併發可能會發生獲取連線失敗。

以上是說的集群部署在乙個機房,只有乙個資料中心dc的情況,如果有多個資料中心。要設定remote連線數。

123

4567

poolingoptions poolingoptions =

new poolingoptions();

poolingoptions

.setmaxsimultaneousrequestsperconnectionthreshold

(hostdistance.local, 32);

poolingoptions.setcoreconnectionsperhost

(hostdistance.local, 2);

poolingoptions.setmaxconnectionsperhost

(hostdistance.local, 4);

poolingoptions.setcoreconnectionsperhost

(hostdistance.remote, 2);

poolingoptions.setmaxconnectionsperhost

(hostdistance.local, 4

);

配置完之後,獲取session,就可以全程式單例使用了。

cassandra的連線池配置

cassandra的連線池配置 cassandra的datastax驅動使用的是非同步nio實現的,發出去的請求,不會阻塞執行緒,當有響應的時候會通知你。所以cassandra客戶端和伺服器之間不需要太多的連線,因為傳送乙個請求是很快的,只要乙個執行緒不斷監聽響應就可以了。cassandra的配置方...

nhibernate連線池配置

nhibernate連線池配置 nhibernate.driver.sqlclientdriver server 127.0.0.1 initial catalog sun user id sun password 123456 min pool size 10 max pool size 50 c...

tomcat 連線池配置

maxidle,最大空閒數,資料庫連線的最大空閒時間。超過空閒時間,資料庫連線將被標記為不可用,然後被釋放。設為0表示無限制。maxactive,連線池的最大資料庫連線數。設為0表示無限制。maxwait 最大建立連線等待時間。如果超過此時間將接到異常。設為 1表示無限制。maxactive 最大連...