【问题标题】:What is the best practices to connect to postgresql from microservice从微服务连接到 postgresql 的最佳实践是什么
【发布时间】:2021-04-25 21:17:46
【问题描述】:

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

【问题讨论】:

  • 通常一个好的做法是为您要执行的每个操作打开/关闭与您的数据库的连接,建议“打开/关闭每个事务”,想象一下如果您保持打开连接微服务的整个生命周期,具体取决于可能导致连接不足的工作负载...

标签: c# postgresql database-administration


【解决方案1】:

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

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

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

如果此方法对您无效,则使用 Dapper 或实体框架之类的 ORM 应该是另一种方法,但在这种情况下,我强烈建议您将其隔离在“存储库”实体中。这样,每次实例化和使用存储库(使用依赖注入)时,您都不必处理事务细节(每次实例化此实体时都会打开连接,调用 Dispose 方法时会关闭连接)。

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 2016-09-09
    • 1970-01-01
    • 2019-01-08
    • 2023-03-14
    • 1970-01-01
    • 2020-04-06
    • 2013-07-12
    • 1970-01-01
    相关资源
    最近更新 更多