沙发底座连接池

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

如何在Go中为沙发库创建连接池?
波斯特格雷斯有pgxpool


泛舟湖上清波郎朗
浏览 83回答 2
2回答

慕码人8056858

我将更详细地介绍 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。如果仍然无法获得足够的吞吐量,则可以考虑使用这些方法之一,同时通过使用连接字符串中的查询字符串选项(即)来增加 SDK 与每个节点建立的连接数。 但是,我建议仅在上述方法无法提供所需吞吐量时才进行更改。无论如何,SDK 被设计为高性能。kv_pool_sizecouchbases://10.112.212.101?kv_pool_size=2

慕田峪4524236

go-couchbase已经有了一个连接池机制:conn_pool.go(即使有一些问题与之相关,比如问题91)。您可以在conn_pool_test.go和pool.go本身中看到它经过测试。dnault在对最近的沙发库/gocb的评论中指出,它确实有一个集群而不是连接池。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go