原本的 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 ,資料分析後的資料
又或許還有更好的架構方式可以解決我的需求? 也歡迎提供。
預先感謝大家的任何建言。
依你的架構,
myServer-1 master
myServer-2 slave
然後應該是 分析read myServer-2 而分析後的結果資料 write to myServer-1 ,這樣 分析後的資料 就會再自動sync至myServer-2
如果資料不用同步,
那就是連兩台資料庫,
一台讀, 一台寫...
如果是要分擔資料庫的負擔,
可以考慮用 叢集 + 負載平衡,
不過那部份需要多找資料&測試...
資料是希望同步
目前想到的是 APP-2
的運算結果能寫進 myServer-1
然後設定 myServer-2
成為 myServer-1
的 slave
APP-2
要讀取資料時時讀 myServer-2
即可。
跟你說的 一台讀 一台寫一樣,
這樣的確比較直接直觀,感謝!
我說的一台讀一台寫跟你說的不一樣,
我意思是自己處理讀跟寫,
如果要同步也是可以做,
叢集 + 負載平衡,
從一台讀出來,
寫入另一台,
然後又可以同步,
如果要分散負載就多幾台叢集,
不過技術面會遇到一些瓶頸,
譬如同步資料的延遲,
資料遺失的風險,
(這要透過資料庫的設定去處理)
這些部分你們要自己研究,
不想自己研究就花錢找這方面的專家,
我不是這方面的專家,
只是我們團隊有做過,
不過這部分不是我在做的,
所以只是聽同事說的,
而且有些問題我們也沒解決,
後來就換其他的資料庫了。