Zookeeper实践与应用-- Nginx负载均衡差异
生活随笔
收集整理的這篇文章主要介紹了
Zookeeper实践与应用-- Nginx负载均衡差异
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Nginx/ZooKeeper 負(fù)載均衡的差異
- Nginx 是我們常見(jiàn)的反向代理服務(wù)器,也被廣泛的用作負(fù)載均衡服務(wù)器
- ZooKeeper是分布式協(xié)調(diào)服務(wù)框架,有時(shí)也被用來(lái)做負(fù)載均衡
Nginx
- Nginx負(fù)載均衡配置非常簡(jiǎn)單,吧多個(gè)Web Server配置到nginx中,用戶訪問(wèn)Nginx時(shí)候,會(huì)自動(dòng)被分配到某個(gè)webServer,如下Nginx配置:
- 當(dāng)網(wǎng)證規(guī)模變大,通常進(jìn)行服務(wù)拆分,各個(gè)服務(wù)獨(dú)立部署,通過(guò)遠(yuǎn)程調(diào)用方式協(xié)同工作,如下示意圖:
- 為保證穩(wěn)定性,每個(gè)服務(wù)不會(huì)用一臺(tái)服務(wù)器,也會(huì)做集群,你們這子集群同樣需要一個(gè)負(fù)載均衡,可以使用Nginx
- 到這一步我們用Nginx完全可以解決問(wèn)題,但是隨著系統(tǒng)再次增大,服務(wù)數(shù)量也會(huì)增加,每個(gè)服務(wù)集群服務(wù)器數(shù)據(jù)增加,這個(gè)時(shí)候會(huì)有如下問(wèn)題:
- 維護(hù)Nginx配置的成本變大,節(jié)點(diǎn)變多
- 單點(diǎn)故障風(fēng)險(xiǎn)增加,因?yàn)闊狳c(diǎn)服務(wù),比如用戶信息,訪問(wèn)量高,如果這個(gè)服務(wù)器集群的Nginx出現(xiàn)問(wèn)題,服務(wù)將失效
- 第一個(gè)問(wèn)題,可以自己開(kāi)發(fā)插件解決,只是降低復(fù)雜度,沒(méi)有根本解決。
- 第二個(gè)問(wèn)題,可以通過(guò)多Nginx部署方案,另一臺(tái)Nginx可以待命狀態(tài),提高容錯(cuò),只是增加成本
Zookeeper負(fù)載均衡實(shí)現(xiàn)思路
- 將Zookeeper作為服務(wù)注冊(cè)中心,在其中登記每個(gè)服務(wù),每臺(tái)服務(wù)器指定自己是屬于那個(gè)服務(wù),在服務(wù)啟動(dòng)時(shí)候,想所屬服務(wù)進(jìn)行注冊(cè),這樣一個(gè)樹(shù)形服務(wù)結(jié)構(gòu)就呈現(xiàn)出來(lái):
- 服務(wù)調(diào)用者到注冊(cè)中心查找:能提供所需服務(wù)的服務(wù)列表,然后自己根據(jù)負(fù)載均衡算法,從中選取一臺(tái)服務(wù)器進(jìn)行連接,并且在此節(jié)點(diǎn)注冊(cè)watcher,修改通知
- 調(diào)用者渠道服務(wù)列表,可以緩存在自己內(nèi)部,省的下次在獲取,當(dāng)服務(wù)器列表發(fā)送變化,例如宕機(jī),或添加新的服務(wù)器,Zookeeper的watcher機(jī)制會(huì)通知添加修改關(guān)注的調(diào)用者重新獲取服務(wù)器列表
- 此處只是利用了Zookeeper樹(shù)形數(shù)據(jù)結(jié)構(gòu),watcher機(jī)制等性能,吧Zookeeper作為服務(wù)注冊(cè)和變更通知,解決了Nginx負(fù)載均衡方案帶來(lái)的問(wèn)題
總結(jié)
| 不存在單點(diǎn)問(wèn)題,zab機(jī)制保證單點(diǎn)故障可重新選舉一個(gè)leader | 存在單點(diǎn)問(wèn)題,單點(diǎn)負(fù)載高數(shù)據(jù)量大 |
| 只負(fù)責(zé)服務(wù)的注冊(cè)與發(fā)現(xiàn),不負(fù)責(zé)轉(zhuǎn)發(fā),減少一次數(shù)據(jù)交換(消費(fèi)方與服務(wù)方直接通信) | 每次負(fù)載,都充當(dāng)一次中間人轉(zhuǎn)發(fā)角色,增加網(wǎng)絡(luò)負(fù)載量(消費(fèi)方與服務(wù)方間接通信) |
| 需要自己實(shí)現(xiàn)相應(yīng)的負(fù)載均衡算法 | 自帶負(fù)載均衡算法 |
上一篇Zookeeper實(shí)踐與應(yīng)用- Canal
下一篇Zookeeper–分布式鎖
總結(jié)
以上是生活随笔為你收集整理的Zookeeper实践与应用-- Nginx负载均衡差异的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何刮痧去眼袋
- 下一篇: 针灸减肥的原理及危害是什么