nginx后端服務(wù)器健康檢測(cè) haproxy能夠代替nginx嗎?
haproxy能夠代替nginx嗎?基本上可以更換。兩者之間的主要區(qū)別是haproxy將始終在后端服務(wù)器上執(zhí)行運(yùn)行狀況檢測(cè),而ng不會(huì)。后端機(jī)器故障發(fā)生在請(qǐng)求到達(dá)之前:haproxy:機(jī)器將被切斷,但
haproxy能夠代替nginx嗎?
基本上可以更換。
兩者之間的主要區(qū)別是haproxy將始終在后端服務(wù)器上執(zhí)行運(yùn)行狀況檢測(cè),而ng不會(huì)。
后端機(jī)器故障發(fā)生在請(qǐng)求到達(dá)之前:
haproxy:機(jī)器將被切斷,但如果在請(qǐng)求到達(dá)期間發(fā)生后端機(jī)器故障,則前端訪問(wèn)將異常。也就是說(shuō),haproxy會(huì)將請(qǐng)求發(fā)送到后端機(jī),經(jīng)過(guò)多次檢測(cè),它會(huì)切斷機(jī)器,并將請(qǐng)求發(fā)送到其他正常的后端機(jī),這勢(shì)必會(huì)在短時(shí)間內(nèi)造成前端訪問(wèn)失敗。
Nginx:當(dāng)請(qǐng)求到來(lái)時(shí),分發(fā)將繼續(xù)正常分發(fā),但是當(dāng)請(qǐng)求無(wú)法到達(dá)數(shù)據(jù)時(shí),它將轉(zhuǎn)向一個(gè)好的后端機(jī)器發(fā)出請(qǐng)求,直到請(qǐng)求正常為止。換句話說(shuō),如果nginx請(qǐng)求到達(dá)后端的一臺(tái)不成功的機(jī)器,它將到達(dá)另一臺(tái)服務(wù)器,這對(duì)前端訪問(wèn)沒(méi)有影響。
所以在高并發(fā)的情況下,haproxy比nginx稍微差一點(diǎn)。
Nginx可以給ElasticSearch集群帶來(lái)什么福利?
1. 記錄每個(gè)API訪問(wèn)請(qǐng)求的日志。(elasticsearch本身不支持此功能,只支持slowlog和服務(wù)日志)
2。它支持大量的客戶端連接。建議在ES官方博客中使用keep alive,并在nginx和ES之間使用長(zhǎng)連接。我理解它是因?yàn)閑s通常是架構(gòu)的底層,而固定的上層服務(wù)用于訪問(wèn)它。這種情況適合使用keep-alive。(事實(shí)上,nginx可以支持更多的客戶端連接,無(wú)論是否保持活動(dòng)狀態(tài))
3。負(fù)載平衡請(qǐng)求彈性搜索服務(wù)器。
4. 緩存數(shù)據(jù),減少相同的內(nèi)容并再次請(qǐng)求elasticsearch服務(wù)器。
5. 提供主動(dòng)健康檢測(cè)(僅限nginx plus),不斷檢測(cè)后端彈性搜索服務(wù)器是否正常,并主動(dòng)切換。(當(dāng)ES失敗時(shí),nginx不向該節(jié)點(diǎn)分發(fā)請(qǐng)求,當(dāng)該節(jié)點(diǎn)恢復(fù)正常時(shí),它將自動(dòng)返回)
6。報(bào)告豐富的監(jiān)控指標(biāo)(僅nginx plus)以提供監(jiān)控和管理。
7. 安全驗(yàn)證。只有具有帳戶名和密碼的客戶端才能訪問(wèn)es群集。
8. 對(duì)于特殊接口,如“”來(lái)限制訪問(wèn)。(此功能非常實(shí)用)
9。具有角色的訪問(wèn)控制(例如,用戶角色具有數(shù)據(jù)訪問(wèn)權(quán)限,管理員角色具有群集控制權(quán)限)