老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

MySQL5.7中多源復制及Nginx中間件是怎么樣的-創新互聯

本篇文章給大家分享的是有關MySQL5.7中多源復制及Nginx中間件是怎么樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創新互聯公司長期為近千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為鞏留企業提供專業的網站設計制作、成都網站制作,鞏留網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發。

之前有寫了一點驗證多源復制的東西,下半篇寫點Nginx的東西;
背景:趕
環境:MySQL-5.7.9 x 4,Nging-1.9.7 x 1,五臺虛擬機
總體思路:
四個MySQL實例組成雙主雙從的多源復制結構,Nginx放在前端,對應用層屏蔽DB層細節,同時由Nginx來完成負載均衡/讀寫分離和“偽HA”
MySQL5.7中多源復制及Nginx中間件是怎么樣的

使用的Nginx配置
MySQL5.7中多源復制及Nginx中間件是怎么樣的

簡單試一下功能,連接的時候指定host,使用TCP的方式去連接61上面的Nginx,可以看到成功的登錄了MySQL,
MySQL5.7中多源復制及Nginx中間件是怎么樣的
在兩臺主庫上面找一找,發現這個鏈接發送到了67上面
MySQL5.7中多源復制及Nginx中間件是怎么樣的
既然連進來了,通過一個純粹做請求轉發的Nginx之后, 普通的操作應該是沒什么問題,試驗略過;
連接write的upstream和連接read的upstream沒什么本質上的區別,試驗略過;
通過Nginx做中間件來實現讀寫分離的話,只需要在URL中連接不同的端口就可以了,試驗略過;
多個連接同時連到這個Nginx的寫庫(主庫),可以看到連接被分到了不同的服務器上,
MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的

提問:如果有session連接在某一臺主庫上,然后那臺主庫出問題掛掉了,客戶端的狀態?
解惑:kill主庫的mysql進程,模擬down機;
MySQL5.7中多源復制及Nginx中間件是怎么樣的
有兩個客戶端出現了重連的提示,另外兩個一切正常;
MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的

存活的主庫狀態,可以看到請求都轉到了存活的主庫上;
MySQL5.7中多源復制及Nginx中間件是怎么樣的
結論:對客戶端來說,雖然保持連接的那個主庫掛掉了,但是在前端來看,就像是連接超時被斷開了一樣,并不會感受到端口為13579的主庫已經掛掉了;
讀庫同理,驗證略過;

額外發現的斷開連接現象:在Nginx設置的timeout也會有一定的影響,接上圖的狀態,一直不去操作這幾個客戶端,在超時時間之后,會在MySQL端輸出如下錯誤日志;
MySQL5.7中多源復制及Nginx中間件是怎么樣的
重新操作一下幾個客戶端,會看到所有的連接其實都斷開了;
MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的

解惑:連接建立以后,空閑的時間超過Nginx(proxy_timeout)和MySQL的設置中比較短的那個之后,就會自行斷開;
結論:和Nginx+Tomcat的反向代理一樣,超時時間的設置也要注意一下;

提問:某一個庫(以上面掛掉的那個主庫為例)掛掉之后,fail_timeout的時間之后,這個主庫恢復了,會不會自動加回列表?
解惑:為了方便測試,改一下fail_timeout的時間,然后關掉主庫67,重啟Nginx以后,再啟動67,等待一段時間,
MySQL5.7中多源復制及Nginx中間件是怎么樣的
MySQL5.7中多源復制及Nginx中間件是怎么樣的
間隔的時間稍微久了點, 不過重新開啟連接以后,可以看到有連接重新進來了,fail_timeout的設置還是ok的,在超過這個時間段以后,Nginx會去檢測后端服務器的狀況,把啟動起來的服務器重新加進來;
結論:Nginx作為一個中間件,可以做到“自動移除掛掉的機器/自動加回恢復的機器”;
PS:如果是啟動了,正在恢復數據的話,最好還是把出問題的庫從upstream移除比較好;

提問:在upstream的配置中,寫的是通過hash的方式去轉發連接,那么是否可以像Nginx+Tomcat的反向代理一樣,采用權重等其他的方式來轉發連接?
解惑:試一下;為了方便看效果,簡單改一下Nginx的配置
MySQL5.7中多源復制及Nginx中間件是怎么樣的
連接四個客戶端以后,看看兩個主庫的連接;
MySQL5.7中多源復制及Nginx中間件是怎么樣的MySQL5.7中多源復制及Nginx中間件是怎么樣的
可以看到連接都轉發到了65主庫上面去了;
結論:權重的配置是可以生效的,這樣的話,可以根據實際要求,用不同配置的MySQL實例來搭建這種類似的架構;

提問:既然使用Nginx作為中間件,可以做到“自動移除掛掉的機器/自動加回恢復的機器”,也對前端屏蔽了后端DB架構上的細節,不會發現某個DB不可用,為什么要描述成“偽HA”?
解惑:個人觀點,確實,通過Nginx的中間件,去訪問后端的MySQL,確實是具備了HA的樣子;某個MySQL實例掛掉了,不會導致整個DB系統無法運行;失敗的MySQL實例恢復以后能自動加入;
但是用Nginx做中間件有兩個很明顯的短板:Nginx的端口是作為對外的唯一出口暴露給應用層的, Nginx本身的HA需要其他方式去保障(不像VIP,就算admin或者worker掛掉了,也不影響數據庫訪問);
另一個更重要的缺點,就是兩個主庫全部掛了以后,Nginx本身不能新選舉一個從庫作為新的master來重新搭建新的主從架構;
這兩個短板,尤其是第二個短板,如果是很嚴格的HA環境和要求,這第二個短板是非常致命的,想要彌補這個,自行開發一套/修改開源工具也許能做到;

追問:存在這么明顯/嚴重的短板,多源復制+Nginx的中間件,到底好用么?
解惑:個人觀點,還不錯;
1.Nginx的單出口問題,完全可以通過啟動多個實例(分開的)指向同一套后端數據庫來提高可用性(keepalived也可以)
2.不能選舉新Master的問題,在5.7的多源復制功能中,可以橫向增加Master的數量,完全靠更多的實例來提高可用性,
這么做,可能會使N主之間的數據一致性受到影響,不過只需要在讀庫的upstream里面剔除掉這些主庫就行了;
3.完全用提高實例數的方式去提高可用性,個別的實例(不管主或者從)掛掉了,基本上不會影響到業務,所表現出來的,只是“某些事務異常中斷了”,需要應用層重試,
而不是mha那樣,主庫掛了需要一段時間來重建主從結構;

以上就是MySQL5.7中多源復制及Nginx中間件是怎么樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯-成都網站建設公司行業資訊頻道。


分享文章:MySQL5.7中多源復制及Nginx中間件是怎么樣的-創新互聯
分享URL:http://www.xueling.net.cn/article/cshhpp.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产一区二区三区视频在线播放 | 成人爽a毛片免费啪啪 | 日本大片在线观看 | 精品人妻无码视频中文字幕一区二区三区 | japan白嫩丰满少妇videoshd | 久久成人免费精品网站 | 日本iv一区二区三区 | 日韩免费视频网站 | 7777精品伊久久久大香线蕉语言 | 午夜青青草 | 在线91精品 | 探花在线观看 | 宅男精品一区在线观看 | 日本熟妇人妻中出 | 高潮喷水在线观看免费 | 欧美一区二区三区日本 | 嫩草视频在线看 | 亚洲精品在线播放 | 欧美性受xxxx黑人猛交88 | 欧美性在线视频 | 成年人免费观看在线 | 欧美猛男军警GAY自慰 | 伊人久久大香线蕉亚洲五月天 | 91视频分类 | 欧美性猛交99久久久久99 | 国产又粗又黄又爽又硬的软件 | 女人16毛片a级毛片成年 | 国产精品自拍亚洲 | 亚洲av日韩精品久久久久久a | 欧美日韩在线免费观看 | 精品国产污污免费网站入口 | 久久久999久久久 | 久久曰欧洲 | 强奷乱码欧妇女中文字幕熟女 | 亚洲中文字幕无码乱线 | 日韩精品亚洲精品第一页 | 免费在线观看国产 | 666av视频在线观看 | 亚洲欧美一区二区精品久久久 | 国产精品嫩草视频 | 男人天堂1024 |