2017-07-31 45 views
1

我有一個複製的PostgreSQL數據庫,有一個主副本和兩個副本。Ecto使用多個節點

我希望Ecto能夠使用master進行寫查詢,並使用slave(可能還有master)讀取數據,可能還會使用權重選項來平衡查詢。

這是否可以通過配置實現?我似乎無法在文檔或Google搜索中找到它。

我正在使用Ecto 2.1。

+0

我不認爲這是可以直接在Ecto/PostgreSQL中。儘管https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling上列出了一些工具,可以充當主代理和副本的sql代理。 –

回答

1

不按配置。但是您可以在配置中定義多個回購協議,並在選擇語句sample中使用不同的回購協議。至少這會幫助您將讀寫語句指向兩個不同的節點。

+0

這會在你有一個靜態數量的副本時執行。當您需要動態更改配置時,它不會有用。 – vfsoraki

+0

當然,如果你想將負載分散在只讀副本上,你應該使用一個負載均衡器,這不一定是你的elixir應用程序的一部分。 – dschniepp

+0

它爲兩個副本應用程序創建一個更復雜的設置,以開始。不管怎樣,謝謝你! – vfsoraki