Couchbase 连接池

玛雅克布尚

我正在使用 couchbase 作为我的主要数据库构建一个应用程序。
我想让应用程序具有足够的可扩展性以同时处理多个请求。

你如何在 Go 中为 couchbase 创建连接池?
Postgres 有pgxpool

查克

我将详细介绍 gocb 的工作原理。在 gocb 的底层是另一个名为 gocbcore 的 SDK(支持直接使用 gocbcore ),它是一个完全异步的 API。Gocb 提供了一个基于 gocbcore 的同步 API,并使 API 更加用户友好。

这意味着如果您跨多个 goroutine 发出请求,那么您可以一次将多个请求写入网络。这就是 gocb 批量 API 的有效工作方式 - https://github.com/couchbase/gocb/blob/master/collection_bulk.go这两种方法都记录在https://docs.couchbase.com/go-sdk/current/howtos/concurrent-async-apis.html

如果您仍然没有获得足够的吞吐量,那么您可以考虑使用这些方法之一,同时通过kv_pool_size在您的连接字符串中使用查询字符串选项来增加 SDK 与每个节点建立的连接数,即couchbases://10.112.212.101?kv_pool_size=2我只推荐如果上述方法没有提供您需要的吞吐量,请更改此设置。无论如何,SDK 旨在提供高性能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章