zuul為什么要結(jié)合nginx 有了sprint cloud的zuul,還有用nginx的必要么?
有了sprint cloud的zuul,還有用nginx的必要么?這是兩個(gè)概念。Nginx用于負(fù)載均衡的請(qǐng)求轉(zhuǎn)發(fā),多用作負(fù)載均衡器;zuul用于請(qǐng)求轉(zhuǎn)發(fā),一般用作網(wǎng)關(guān)。Zuul與Eureka配合使用,
有了sprint cloud的zuul,還有用nginx的必要么?
這是兩個(gè)概念。Nginx用于負(fù)載均衡的請(qǐng)求轉(zhuǎn)發(fā),多用作負(fù)載均衡器;zuul用于請(qǐng)求轉(zhuǎn)發(fā),一般用作網(wǎng)關(guān)。Zuul與Eureka配合使用,功能強(qiáng)大。Nginx也可以實(shí)現(xiàn)這些功能,但是它需要各種腳本語言來支持,比如Lua腳本等,但是zuul的開發(fā)成本很低。知道春天就夠了。
本節(jié)將設(shè)計(jì)一些分布式霧化問題。我一個(gè)接一個(gè)地踩在他們身上。如果有什么問題,我們可以繼續(xù)討論。我建議我們進(jìn)一步了解spring云的核心思想和整個(gè)分布式體系結(jié)構(gòu)。如果您有任何問題,請(qǐng)?zhí)釂?,謝謝
haproxy能夠代替nginx嗎?
基本上可以更換。
兩者之間的主要區(qū)別是haproxy將始終在后端服務(wù)器上執(zhí)行運(yùn)行狀況檢測,而ng不會(huì)。
后端機(jī)器故障發(fā)生在請(qǐng)求到達(dá)之前:
haproxy:機(jī)器將被切斷,但如果在請(qǐng)求到達(dá)期間發(fā)生后端機(jī)器故障,則前端訪問將異常。也就是說,haproxy會(huì)將請(qǐng)求發(fā)送到后端機(jī),經(jīng)過多次檢測,它會(huì)切斷機(jī)器,并將請(qǐng)求發(fā)送到其他正常的后端機(jī),這勢必會(huì)在短時(shí)間內(nèi)造成前端訪問失敗。
Nginx:當(dāng)請(qǐng)求到來時(shí),分發(fā)將繼續(xù)正常分發(fā),但是當(dāng)請(qǐng)求無法到達(dá)數(shù)據(jù)時(shí),它將轉(zhuǎn)向一個(gè)好的后端機(jī)器發(fā)出請(qǐng)求,直到請(qǐng)求正常為止。換句話說,如果nginx請(qǐng)求到達(dá)后端的一臺(tái)不成功的機(jī)器,它將到達(dá)另一臺(tái)服務(wù)器,這對(duì)前端訪問沒有影響。
所以在高并發(fā)的情況下,haproxy比nginx稍微差一點(diǎn)。