iT邦幫忙

0

是否能在 mysql 裡對不同的 database 設定方向不同的主從式架構?

原本的 APP 與 mysql server 都在同一台機器裡頭,
但因為這台負荷頗重,打算做資料分析時使用另一台機器,
原本的 APP 也希望使用資料分析之後的結果。

所以我想做成下列的架構,不知道可不可行?

APP-1       : 原本的 APP,安裝在 Machine-1 裡頭
myServer-1  : 原本的 mysql server , 安裝在 Machine-1 裡頭
DB-1        : 原本的 database , 希望用來做資料分析用的原始資料

APP-2       : 新增的 APP ,用來資料分析用,安裝在接下來要新增的 Machine-2 裡頭
myServer-2  : 新增的 mysql server , 安裝在接下來要新增的 Machine-2 裡頭
DB-2        : 新增的 database , 用來儲存資料分析後的結果

希望設定的主從式架構 :
1. myServer-2 當 slave ,同步 DB-1 的資料
2. myServer-1 當 slave ,同步 DB-2 ,資料分析後的資料

又或許還有更好的架構方式可以解決我的需求? 也歡迎提供。
預先感謝大家的任何建言。

先確定一件事,從頭到尾只有一台 Machine-1 ,是否正確?
回樓上,我後面的敘述寫錯了。APP-2 跟 myServer-2 都會裝在接下來新增的 Machine-2 裡頭,感謝糾正錯誤。

2 個回答

1
orzzro
iT邦新手 5 級 ‧ 2018-09-26 10:34:27
最佳解答

依你的架構,
myServer-1 master
myServer-2 slave

然後應該是 分析read myServer-2 而分析後的結果資料 write to myServer-1 ,這樣 分析後的資料 就會再自動sync至myServer-2

我最後也決定用跟你敘述一樣的架構設立 mysql server

0
小魚
iT邦高手 1 級 ‧ 2018-09-25 12:02:59

如果資料不用同步,
那就是連兩台資料庫,
一台讀, 一台寫...

如果是要分擔資料庫的負擔,
可以考慮用 叢集 + 負載平衡,
不過那部份需要多找資料&測試...

資料是希望同步
目前想到的是 APP-2 的運算結果能寫進 myServer-1
然後設定 myServer-2 成為 myServer-1slave
APP-2 要讀取資料時時讀 myServer-2 即可。
跟你說的 一台讀 一台寫一樣,
這樣的確比較直接直觀,感謝!

小魚 iT邦高手 1 級 ‧ 2018-09-25 19:26:15 檢舉

我說的一台讀一台寫跟你說的不一樣,
我意思是自己處理讀跟寫,
如果要同步也是可以做,
叢集 + 負載平衡,
從一台讀出來,
寫入另一台,
然後又可以同步,
如果要分散負載就多幾台叢集,
不過技術面會遇到一些瓶頸,
譬如同步資料的延遲,
資料遺失的風險,
(這要透過資料庫的設定去處理)
這些部分你們要自己研究,

不想自己研究就花錢找這方面的專家,
我不是這方面的專家,
只是我們團隊有做過,
不過這部分不是我在做的,
所以只是聽同事說的,
而且有些問題我們也沒解決,
後來就換其他的資料庫了。

我要發表回答

立即登入回答