【发布时间】:2017-10-07 05:04:58
【问题描述】:
Google 的官方 Cloud Spanner Go 客户端库有一个 NewClient() 函数,它接受 Context。通常,Contexts 作为(可能长时间运行的)请求链的一部分传递。这是否意味着 NewClient() 旨在为需要访问 Cloud Spanner 的服务处理的每个唯一请求调用?
如果我使用传统的关系数据库,我会创建一个共享客户端池,供进程多次使用,以减少资源使用(例如网络连接)。每当请求处理程序启动时创建一个独特的数据库客户端的想法对我来说有点令人反感,我想知道我是否误解了客户端库的预期用途。
另一方面,Cloud Spanner 总的来说相当神奇,因此得知这实际上是一种受鼓励且有效的模式,我不会感到惊讶。不过,很高兴知道,而且文档并没有真正讨论它。
【问题讨论】:
标签: database go google-cloud-platform google-cloud-spanner