【问题标题】:Ecto use multiple nodesEcto 使用多个节点
【发布时间】:2023-03-18 02:25:02
【问题描述】:

我有一个复制的 PostgreSQL 数据库,有一个主数据库和两个副本。

我希望 Ecto 使用 master 进行写入查询,并使用 slave(可能与 master 一起)来读取查询,可能带有权重选项来平衡查询。

这可以通过配置实现吗?我似乎无法在文档中或通过谷歌搜索找到它。

我正在使用 Ecto 2.1。

【问题讨论】:

  • 我认为直接在 Ecto / PostgreSQL 中是不可能的。尽管wiki.postgresql.org/wiki/… 上列出了一些工具,它们可以充当主副本和副本的 sql 代理。

标签: elixir phoenix-framework ecto


【解决方案1】:

不是通过配置。但是您可以在配置中定义多个存储库,并在选择语句sample 中使用不同的存储库。至少这将帮助您将读取和写入语句定向到两个不同的节点。

【讨论】:

  • 这将在您拥有静态数量的副本时执行。当您需要动态更改配置时,它不会有用。
  • 当然,如果您想将负载分散到只读副本上,您应该使用负载均衡器,它不一定是您的 elixir 应用程序的一部分。
  • 它为一个双副本应用程序创建了一个更复杂的设置,开始。还是谢谢你!
猜你喜欢
  • 2018-01-14
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
相关资源
最近更新 更多