我的应用程序堆栈由Golang组成,用于后端编程&数据库的MongoDB Atlas免费层。我正在尝试从Stripe CLI触发事件,我的GoLang程序基于某些验证更新MongoDB Atlas中的一堆表。这似乎在大多数情况下都很好用。但在这个过程中的某些时候,我在将数据更新到Mongo Collections时会遇到以下错误。
连接(xxxxx-shard-00-02.ka3rc.mongodb.net:xxx[-15](消息头读取不完整:读取tcpxxx.xxx.x.xx:xxxxx->xx.xx.xxx.xxx:xxxxx:使用封闭网络连接
我正在尝试使用控件进入我的Go程序时打开的相同mongo客户端来执行应用程序中的所有查询。
有人知道我们会面临这个错误的原因吗?这可能是由于Mongo Atlas限制了免费层每分钟的请求数量吗?这个问题是随机发生的,当这种情况发生时,我无法确定任何模式。
从go驱动程序客户端选项页面:
https://pkg.go.dev/go.mongodb.org/mongo-driver@v1.8.0/mongo/options#ClientOptions
大多数计时器默认为0:(ConnectTimeout、MaxConnIdleTime、SocketTimeout(
这意味着在某些情况下,服务器可以关闭连接,但应用程序驱动程序仍然不知道,因此建议在连接初始化阶段明确设置客户端的超时。