从微服务连接到 postgresql 的最佳实践是什么

What is the best practices to connect to postgresql from microservice

我有一个多租户 c# 项目,其中有 60 个微服务连接到多个 postgresql 数据库。我在每笔交易中都使用 open/close 连接。我不确定这是最佳做法。 我是否必须在每个微服务上打开一个到每个数据库的连接并将其用于我的所有活动或 open/close 每个事务

您应该考虑使用工作单元模式和依赖注入实践。

我在这里给你一个解释工作单元模式的微软文档

https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

如果这种方法对你无效,使用 ORM 像 Dapper 或 Entity Framework 应该是另一种方法,但在这种情况下我强烈建议你在“存储库”实体中隔离它。这样,每次您实例化和使用存储库(使用依赖注入)时,您都不必处理交易细节(连接将在您每次实例化该实体时打开,并在您调用 Dispose 方法时关闭)。