Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 使用多个节点_Elixir_Phoenix Framework_Ecto - Fatal编程技术网

Elixir 使用多个节点

Elixir 使用多个节点,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我有一个复制的PostgreSQL数据库,有一个主数据库和两个副本 我希望Ecto使用master进行写查询,使用Slave(可能与master一起)进行读查询,可能还有一个权重选项来平衡查询 这可以通过配置实现吗?我似乎无法在文档或谷歌上找到它 我使用的是Ecto 2.1。不是通过配置。但您可以在配置中定义多个repo,并在select语句中使用不同的repo。至少这将帮助您将读写语句定向到两个不同的节点。我认为直接在Ecto/PostgreSQL中是不可能的。尽管上列出了一些工具,它们可以充

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

我希望Ecto使用master进行写查询,使用Slave(可能与master一起)进行读查询,可能还有一个权重选项来平衡查询

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


我使用的是Ecto 2.1。

不是通过配置。但您可以在配置中定义多个repo,并在select语句中使用不同的repo。至少这将帮助您将读写语句定向到两个不同的节点。

我认为直接在Ecto/PostgreSQL中是不可能的。尽管上列出了一些工具,它们可以充当主副本和副本的sql代理。当副本数量固定时,就可以这样做。当您需要动态更改配置时,它将不起作用。当然,如果您想在读取的副本上分散负载,您应该使用负载平衡器,它不一定是elixir应用程序的一部分。它会为双副本应用程序创建更复杂的设置。无论如何谢谢你!