我正在创建一个托管在AWS云上的Golang应用程序,它使用多个AWS服务,即S3、DynamoDB、Parameter。
目前,处理每个AWS服务的各个模块都有自己的AWS会话。
awsSession, err := session.NewSession(&aws.Config{Region: aws.String(os.Getenv("AWS_REGION"))})从性能的角度来看,这是一种正确的方法,还是在主程序中创建一个会话并将引用传递给单个模块将是一种更好的方法?
发布于 2018-06-05 16:57:04
如果可能的话,建议重用会话。
来自AWS Go SDK 文档
会话应在可能的情况下缓存,因为创建新会话的将从环境加载所有配置值,每次创建会话时都会加载配置文件。在所有服务客户端之间共享会话值的将确保至少加载配置次数。
https://stackoverflow.com/questions/50691728
复制相似问题