最近 想著動手練習一下負載均衡,於是湊齊了3臺雲伺服器召喚神龍,沒想到神龍威力太大把我滅了!(三臺都是學生伺服器… 比較便宜)。
配置簡單的負載均衡 百度就完全ok,我用的是nginx的upstream。
現在我的結構是這樣的
本以為這樣就算完事了,然而!!!!
讀的時候負載均衡沒啥問題剛開始是一樣的,
可是寫的時候負載均衡就導致了兩個是資料不一樣了
這怎麼解決?
情況1、我剛開始想著讀寫分離 node1當主負責寫,node2當從負責讀,然後修改了laravel裡mysql的讀寫分離配置 然後就成了如下結構
可怕的事情發生了!! 當node1接收到讀的請求時查詢node2的mysql 耗時9S!!!
當node2接收到寫的請求時連線node1的MySQL 去寫,寫直接超時了…
情況2、然後我繼續改(先不考慮主從複製延遲的問題,假設延遲很小)
這次結果如下!
這樣讀是沒啥問題了 都讀自己,但是寫的問題還沒解決!!!
**先都不考慮複製延遲的問題***
情況3、繼續改(這次是主主複製。。這個還未嘗試也發現了問題)
這次結果如下
這樣看。。好像是沒啥問題了 讀寫都是自己,就是複製的問題了。
可是!!! 這時候如果要擴充套件一臺節點伺服器呢
問題:在情況1的時候 讀寫分離慢是因為 跨著伺服器操作MySQL的原因麼,實際專案中是不是MySQL和專案是分離開來的,MySQL是單獨的伺服器,那麼MySQL單獨的話,專案在訪問MySQL的時候是不是也慢呢
!!!!等待大佬解答,當然 自己也再慢慢嘗試!!!
本作品採用《CC 協議》,轉載必須註明作者和本文連結