在互聯(lián)網(wǎng)高速發(fā)展的今天,人們的娛樂、購物、支付等活動(dòng)已經(jīng)離不開互聯(lián)網(wǎng)應(yīng)用。電腦手機(jī)等移動(dòng)設(shè)備的快速發(fā)展,使得獲取信息的途徑更加多樣化,娛樂服務(wù)吏加精巧化。隨著網(wǎng)絡(luò)用戶訪間量的不斷增加,Web服務(wù)器的壓力成倍增加,會(huì)導(dǎo)致服務(wù)器宕機(jī)和數(shù)據(jù)庫崩潰等問題。本文通過對(duì)網(wǎng)上商城項(xiàng)目高并發(fā)場(chǎng)景的分析,總結(jié)了影響服務(wù)器并發(fā)量的客觀原因,針對(duì)這些因素,本文以數(shù)據(jù)庫緩存和高并發(fā)web服務(wù)器負(fù)載均衡技術(shù)為主,設(shè)計(jì)并優(yōu)化了服務(wù)器高并發(fā)訪問機(jī)制。本文主要對(duì)以下兒點(diǎn)展開研究(1)根據(jù)需求,選擇使用MyQL數(shù)據(jù)庫作為數(shù)據(jù)存儲(chǔ)器,本文分析了 MySQL數(shù)據(jù)庫的優(yōu)缺點(diǎn),針對(duì)MyQL數(shù)據(jù)庫查詢提出了 MySQL查詢調(diào)優(yōu)方法,在高并發(fā)環(huán)境下為了保障數(shù)據(jù)庫的讀寫安全,設(shè)計(jì)并實(shí)現(xiàn)了 MySQL的主從復(fù)制。(2)分析了加入 Redis緩存數(shù)據(jù)庫的必要性,在高并發(fā)環(huán)境下,為了防止瞬時(shí)訪問數(shù)據(jù)庫的頻率過高以及惡意攻擊等問題,提出了在Web服務(wù)器與 MySQL數(shù)據(jù)庫之間加入Reis緩存數(shù)據(jù)庫,以保障數(shù)據(jù)的安全性,并極大地提高了數(shù)據(jù)的查詢效率。為了保障 Redis數(shù)據(jù)庫的可靠性,避免宕機(jī)或斷電產(chǎn)生的系列不可恢復(fù)的問題,設(shè)計(jì)并實(shí)現(xiàn)了 Redis集群策略,通過測(cè)試,證明了 Redis緩存的優(yōu)越性(3)分析了Web集群后會(huì)造成的負(fù)載分配問題,決定加入負(fù)載均衡策略,并提出了一種新的基于加權(quán)輪詢的動(dòng)態(tài)負(fù)載均衡策略。這種動(dòng)態(tài)策略會(huì)根據(jù)集群服務(wù)器節(jié)點(diǎn)的CPU、內(nèi)存、磁盤IO以及網(wǎng)絡(luò)性能的情況,計(jì)算負(fù)載權(quán)重,并根據(jù)節(jié)點(diǎn)對(duì)接口一段時(shí)間內(nèi)的響應(yīng)時(shí)間,獲取到響應(yīng)時(shí)間平均權(quán)重。負(fù)載權(quán)重和響應(yīng)寸間權(quán)重都與初始權(quán)重成負(fù)相關(guān),根據(jù)這一特性,動(dòng)態(tài)地設(shè)定服務(wù)器節(jié)點(diǎn)的權(quán)重大小。通過 jmeter測(cè)試工具測(cè)試負(fù)載均衡策略的性能,通過對(duì)比證明,本文的動(dòng)態(tài)策略在響應(yīng)時(shí)間和吞吐量上優(yōu)于 Nginx內(nèi)置的加權(quán)輪詢策略,更加適應(yīng)高并發(fā)環(huán)境關(guān)鍵詞:Web服務(wù)器,高并發(fā),Redis,Nginx,負(fù)載均衡
標(biāo)簽:
web服務(wù)器
上傳時(shí)間:
2022-03-11
上傳用戶:kent