支持连接池的 Golang cassandra 客户端
Golang cassandra client with connection pool support
我们正在使用 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 驱动程序中合并连接?
你不需要游泳池。创建全局 Session
。来自 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.
我们正在使用 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 驱动程序中合并连接?
你不需要游泳池。创建全局 Session
。来自 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.