2

gocql( https://github.com/gocql/gocql ) ドライバーを使用して、golang サーバーから Cassandra に接続しています。http リクエストごとに、新しいセッションを作成し、cassandra に行を挿入しています。リクエストごとにセッションを作成するのは、非常にリソースを消費すると感じています。

典型的なコード

func NewSession() (*gocql.Session, error) {
    config := NewClusterConfig()
    if config == nil {
        return nil, &CassandraError{"Oops! Cluster initialization failed."}
    }
    return config.CreateSession()
}

接続をプールする方法gocqlや、golang 用の他の cassandra ドライバーはありますか?

4

1 に答える 1

5

You don't need a pool. Create a global Session. From https://godoc.org/github.com/gocql/gocql#Session:

It's safe for concurrent use by multiple goroutines and a typical usage scenario is to have one global session object to interact with the whole Cassandra cluster.

于 2017-03-06T11:36:57.730 に答える