999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于分布式集群高可用管理信息系統(tǒng)設(shè)計(jì)

2022-08-31 03:46:50鄧秀輝
制造業(yè)自動(dòng)化 2022年7期
關(guān)鍵詞:數(shù)據(jù)庫檢測系統(tǒng)

鄧秀輝,李 民,方 惠

(昆明理工大學(xué),昆明 650500)

0 引言

當(dāng)今互聯(lián)網(wǎng)技術(shù)在物流、倉儲(chǔ)、財(cái)務(wù)等多領(lǐng)域均得到廣泛運(yùn)用,能有效提高企業(yè)的信息化和自動(dòng)化水平[1]。由于現(xiàn)代化企業(yè)員工數(shù)量和數(shù)據(jù)量的急劇增加,傳統(tǒng)信息系統(tǒng)在并發(fā)性和擴(kuò)展性等方面,存在難以逾越的瓶頸。若查詢數(shù)據(jù)緩慢或服務(wù)器節(jié)點(diǎn)一旦發(fā)生宕機(jī),則無法為企業(yè)員工正常地提供服務(wù),影響工作進(jìn)程,使得信息系統(tǒng)的可靠性和穩(wěn)定性無法得到保障。為避免發(fā)生類似情況產(chǎn)生,本文提出了分布式集群高可用系統(tǒng)設(shè)計(jì)。其流程主要含括三個(gè)部分,分布式Client;Nginx前端服務(wù)器;DataBase及Redis緩存數(shù)據(jù)庫集群架構(gòu)。該信息系統(tǒng)能夠?qū)崿F(xiàn)多用戶并發(fā)訪問資源,同時(shí)利用Redis集群實(shí)現(xiàn)熱點(diǎn)數(shù)據(jù)緩存,提升查詢響應(yīng)速度和系統(tǒng)靈活性,增強(qiáng)系統(tǒng)的高可用性。

1 關(guān)鍵技術(shù)

1.1 Nginx負(fù)載均衡

Nginx是一個(gè)輕量、性能高的HTTP和反向代理服務(wù)器。與傳統(tǒng)的服務(wù)器不同,它可在較低的資源使用率下提供大量的并發(fā)請求處理能力(C語言編寫),具有抗擊高并發(fā)、響應(yīng)速度快等特點(diǎn)。一般情況下,Nginx服務(wù)器的并發(fā)能力在3萬/秒高于Tomcat服務(wù)的150/秒。同時(shí),Nginx服務(wù)器可以實(shí)現(xiàn)動(dòng)態(tài)和靜態(tài)資源的分離。一方面,Nginx可以用于前端作反向代理服務(wù)器,處理靜態(tài)資源,如HTML、CSS等;另一方面,Nginx提供負(fù)載均衡技術(shù),該技術(shù)可以發(fā)揮集群性能,分流動(dòng)態(tài)請求鏈路到后端服務(wù)器集群。其負(fù)載均衡策略主要有:輪詢(RR)、權(quán)重、IPHASH、最小連接(LC)等策略[2,4]。

1.2 Redis緩存數(shù)據(jù)庫

Redis是一種高性能分布式的非關(guān)系型數(shù)據(jù)庫[5],其數(shù)據(jù)是以Key-Value鍵值對的形式存儲(chǔ),支持多種數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ),如鏈表(List)、字符串(String)、集合(Set)等,可實(shí)現(xiàn)對熱點(diǎn)數(shù)據(jù)的快速增刪查改操作。Redis緩存數(shù)據(jù)庫是基于內(nèi)存存儲(chǔ)數(shù)據(jù)的方式,具有讀寫性能高、支持不定期半持久化模式(RDB),通過異步方式將數(shù)據(jù)保存到磁盤上和實(shí)時(shí)持久化模式(AOF)保障數(shù)據(jù)安全等操作,并且Redis具有分片機(jī)制、哨兵機(jī)制、心跳檢測機(jī)制、主從復(fù)制等特點(diǎn),在提高存儲(chǔ)效率的同時(shí),能保障數(shù)據(jù)集群的高可用等特點(diǎn)。

2 分布式系統(tǒng)架構(gòu)設(shè)計(jì)

隨著企業(yè)不斷發(fā)展,信息系統(tǒng)中的功能也在隨之增加。在大型信息系統(tǒng)設(shè)計(jì)中要把一個(gè)大系統(tǒng)拆分為多個(gè)單獨(dú)的子系統(tǒng),如生產(chǎn)、物流、采購等子系統(tǒng),分別存放在不同的服務(wù)器。一方面,可以降低信息系統(tǒng)在同時(shí)間內(nèi)多人訪問時(shí)的數(shù)據(jù)庫訪問壓力;另一方面,可以降低系統(tǒng)中各個(gè)功能模塊的耦合度,便于后期企業(yè)的擴(kuò)張新增功能模塊。

2.1 垂直拆分

在項(xiàng)目部署到服務(wù)器時(shí),為提高系統(tǒng)的并發(fā)能力,通常根據(jù)項(xiàng)目功能模塊的不同,將項(xiàng)目進(jìn)行垂直拆分,把不同的項(xiàng)目模塊拆分到不同的服務(wù)器中,可以提高整個(gè)系統(tǒng)的并發(fā)能力,不會(huì)因一個(gè)模塊功能服務(wù)器的宕機(jī),而引發(fā)整個(gè)系統(tǒng)不能使用的現(xiàn)象,具體部署如圖1所示。

圖1 功能模塊垂直拆分

2.2 水平拆分

大型信息系統(tǒng)在設(shè)計(jì)時(shí)為了后期維護(hù)與新增功能模塊的需求,根據(jù)業(yè)務(wù)代碼的層級進(jìn)行項(xiàng)目功能的水平拆分,可以拆分為Web/viwe層、Controller層、Service層、接口、Vo層、Pojo層等,從而實(shí)現(xiàn)代碼的高內(nèi)聚,低耦合。

圖2 項(xiàng)目功能水平拆分

3 集群系統(tǒng)高并發(fā)高可用框架設(shè)計(jì)

3.1 高并發(fā)服務(wù)器集群設(shè)計(jì)

該系統(tǒng)為抗擊高并發(fā),采用Nginx前端服務(wù)器和Redis緩存數(shù)據(jù)庫的形式搭建并發(fā)訪問機(jī)制。首先,通過Nginx前端服務(wù)器的輪詢負(fù)載均衡策略,以用戶端的邏輯事務(wù)請求的域名地址,鏈路到后端服務(wù)器集群。后端服務(wù)器集群根據(jù)具體的域名地址效解析相關(guān)的邏輯業(yè)務(wù)請求。針對相關(guān)的內(nèi)容進(jìn)行相對應(yīng)的處理,實(shí)現(xiàn)動(dòng)態(tài)業(yè)務(wù)資源信息的實(shí)時(shí)寫入操作。其次,Tomcat服務(wù)器在處理相關(guān)邏輯業(yè)務(wù)的同時(shí),會(huì)先查找Redis服務(wù)器集群中是否緩存有需要的數(shù)據(jù)信息,如果有則直接返回給業(yè)務(wù)邏輯層進(jìn)行相對應(yīng)的邏輯處理;若Redis服務(wù)器集中中沒有相對應(yīng)的緩存數(shù)據(jù)信息,則從數(shù)據(jù)庫中查詢對應(yīng)信息,返回給業(yè)務(wù)邏輯進(jìn)行處理。最后,通過業(yè)務(wù)邏輯的處理,把從數(shù)據(jù)庫查找到的數(shù)據(jù)信息備份到Redis緩存數(shù)據(jù)中,以便下次執(zhí)行相同的業(yè)務(wù)邏輯時(shí),可以提高響應(yīng)速度。

圖3 高并發(fā)服務(wù)器集群設(shè)計(jì)

3.2 高可用Redis集群設(shè)計(jì)

為提高員工查詢數(shù)據(jù)時(shí)的響應(yīng)速度,通常會(huì)把熱點(diǎn)數(shù)據(jù)保存在內(nèi)存中。但是由于內(nèi)存大小有限,在緩存數(shù)據(jù)時(shí)需要搭建Redis數(shù)據(jù)庫集群[6]。為保證數(shù)據(jù)能夠分散存儲(chǔ)和數(shù)據(jù)存儲(chǔ)的一致性;同時(shí),也能滿足用戶的正常訪問需求,實(shí)現(xiàn)服務(wù)故障的自動(dòng)遷移。因此采用Redis哨兵機(jī)制,提升緩存數(shù)據(jù)的高可用性,并且對Redis服務(wù)器集群節(jié)點(diǎn)做主從復(fù)制,從節(jié)點(diǎn)對主節(jié)點(diǎn)進(jìn)行復(fù)制備份,實(shí)現(xiàn)數(shù)據(jù)同步[7]。

若內(nèi)存占用大,會(huì)導(dǎo)致Redis效率下降,搭建Redis分片機(jī)制可以實(shí)現(xiàn)內(nèi)存的擴(kuò)容。為盡可能使Redis服務(wù)器不出現(xiàn) 機(jī)情況,采用Redis哨兵工作原理,哨兵通過心跳檢測檢測機(jī)制向主機(jī)發(fā)出心跳檢測PING-PONG,如果連續(xù)三次沒有收到主機(jī)的回執(zhí),則發(fā)現(xiàn)主機(jī)宕機(jī),開始進(jìn)行故障遷移,從從機(jī)中推選主服務(wù)器。最后,配置Redis主從復(fù)制結(jié)構(gòu)服務(wù)器集群,具體Redis數(shù)據(jù)庫集群架構(gòu)如圖5所示。

圖4 Redis集群服務(wù)器設(shè)計(jì)

3.3 集群搭建策略

本文將Tomcat服務(wù)集群和Redis緩存數(shù)據(jù)庫集群部署到Vmware虛擬機(jī)Linux系統(tǒng)中,因?yàn)轫?xiàng)目在Lixun系統(tǒng)中運(yùn)行,具有更穩(wěn)定,更安全,更有效率等特點(diǎn)。在集群搭建過程中,需要把Tomcat服務(wù)器集群和Redis數(shù)據(jù)庫集群部署到Linux虛擬機(jī)中,同時(shí)開放Linux系統(tǒng)的防火墻設(shè)置。與此同時(shí),在Windows系統(tǒng)中,開放Mysql數(shù)據(jù)的訪問權(quán)限和防火墻,使用xshell工具實(shí)現(xiàn)Linux系統(tǒng)與Windows系統(tǒng)進(jìn)行通信,具體如圖5所示。

圖5 集群搭建

4 集群搭建測試

4.1 Tomcat服務(wù)器集群搭建及測試

本實(shí)驗(yàn)在Wmware虛擬機(jī)Linux系統(tǒng)中分別部署Tomcat服務(wù)器三臺,將項(xiàng)目打包復(fù)制到三個(gè)Tomcat服務(wù)中進(jìn)行部署,具體步驟如下:

步驟一:分別運(yùn)行Tomcat服務(wù)器,檢測項(xiàng)目是否能夠正常啟動(dòng);

步驟二:使用超級管理員啟動(dòng)Nginx;

步驟三:Nginx啟動(dòng)檢查(主進(jìn)程和守護(hù)進(jìn)程);

步驟四:編寫Nginx.conf文件,包括監(jiān)聽端口號、域名;編寫輪詢策略、集群連接信息等;

步驟五:編輯Windows系統(tǒng)中Host文件,添加IP與域名映射關(guān)系;

步驟六:Windows系統(tǒng)Web頁面中打開信息系統(tǒng),進(jìn)行增、刪、查、改等測試操作,檢測Windows系統(tǒng)與Linux系統(tǒng)能否進(jìn)行正常的數(shù)據(jù)通信。

4.2 Redis集群搭建及測試

在本實(shí)驗(yàn)中Redis主從劃分規(guī)則為3臺主機(jī)和3臺從機(jī)共6臺服務(wù)器部署到Vmware中Linux系統(tǒng)中。

1)檢測Redis節(jié)點(diǎn)是否能正常啟動(dòng)

圖6 Redis節(jié)點(diǎn)啟動(dòng)

2)搭建Redis集群

從圖7中可以看出Redis節(jié)點(diǎn)為主機(jī)的分別是:節(jié)點(diǎn)7000、7001、7002;從機(jī)節(jié)點(diǎn)分別是:7003、7004、7005。

圖7 Redis主從節(jié)點(diǎn)

3)Redis集群高可用測試

步驟一:關(guān)閉Redis主機(jī)節(jié)點(diǎn)7000,檢測是否自動(dòng)實(shí)現(xiàn)故障遷移[8];

步驟二:再次啟動(dòng)關(guān)閉的主機(jī),檢測是否能夠?qū)崿F(xiàn)自動(dòng)掛載。

圖8 故障遷移

5 實(shí)驗(yàn)測試與分析

為了驗(yàn)證系統(tǒng)架構(gòu)在并發(fā)處理能力和讀取數(shù)據(jù)方面的性能,選擇運(yùn)用PostMan工具和JMeter插件進(jìn)行測試。實(shí)驗(yàn)測試環(huán)境為:i7/8G內(nèi)存、Windows10系統(tǒng)、JDK1.8、Mysql8.0、Redis4.0、Tomcat8.5。

實(shí)驗(yàn)測試方案:

1)使用PostMan工具進(jìn)行數(shù)據(jù)讀取操作測試,比較有無Redis緩存數(shù)據(jù)庫的情況下的讀取速度;從圖9可以看出添加Redis緩存數(shù)據(jù)庫的響應(yīng)速度為32.37ms要明顯高于沒有添加Redis緩存數(shù)據(jù)庫的讀取速度,且添加Redis緩存數(shù)據(jù)庫的其他性能指標(biāo)也要高于沒有添加Redis緩存的性能。

圖9 有無Reids緩存讀取速度比較

2)使用Jemeter插件工具,比較員工數(shù)量在500、1000、2000數(shù)量時(shí)傳統(tǒng)信息系統(tǒng)與本文設(shè)計(jì)的信息系統(tǒng)的并發(fā)能力比較。從表1平均響應(yīng)時(shí)間來看,Nginx+Redis系統(tǒng)的性能要優(yōu)于傳統(tǒng)的信息系統(tǒng)。

表1 平均響應(yīng)時(shí)間

6 結(jié)語

本文運(yùn)用Nginx前端服務(wù)器與Redis緩存的方式構(gòu)建了基于分布式集群高可用的信息系統(tǒng),通過Nginx前端服務(wù)器負(fù)載均衡策略鏈路后端服務(wù)器集群,緩解服務(wù)器在同一點(diǎn)內(nèi)的訪問壓力,提高并發(fā)能力;采用高可用Redis哨兵、分片、主從復(fù)制機(jī)制對熱點(diǎn)數(shù)據(jù)進(jìn)行緩存,提高數(shù)據(jù)庫讀寫能力,并防止因服務(wù)器因 機(jī)出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。由實(shí)驗(yàn)對比表明,相比傳統(tǒng)的信息系統(tǒng),該系統(tǒng)并發(fā)能力和數(shù)據(jù)讀取方面都有。明顯的提升,滿足企業(yè)發(fā)展需求,提升企業(yè)的運(yùn)行效率和經(jīng)濟(jì)效益。

猜你喜歡
數(shù)據(jù)庫檢測系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
數(shù)據(jù)庫
小波變換在PCB缺陷檢測中的應(yīng)用
主站蜘蛛池模板: 欧美激情第一欧美在线| 亚洲91精品视频| 青青草久久伊人| 极品私人尤物在线精品首页| 欧美日韩中文国产| 这里只有精品国产| 国产精品一区二区不卡的视频| 亚洲精品国产首次亮相| 亚洲成a人在线播放www| 一级爱做片免费观看久久| 国产性生交xxxxx免费| 亚洲最猛黑人xxxx黑人猛交| 一本二本三本不卡无码| 97无码免费人妻超级碰碰碰| 思思99热精品在线| 青草视频免费在线观看| 日韩美女福利视频| 亚洲一级毛片在线观| 亚洲天堂网在线播放| 久久久久亚洲精品无码网站| 亚洲综合色吧| 色综合中文| 99成人在线观看| 国产成人精品免费av| 国产精品伦视频观看免费| 日韩欧美中文| 无码免费视频| 无码AV动漫| 免费看美女自慰的网站| 午夜国产小视频| 精品偷拍一区二区| 亚洲国产成人麻豆精品| 在线日韩日本国产亚洲| 亚洲精品大秀视频| 在线国产毛片手机小视频| 欧美成在线视频| 亚洲人成影院在线观看| 香蕉国产精品视频| 狠狠v日韩v欧美v| 亚洲视频二| 免费一看一级毛片| 免费福利视频网站| 亚洲国产精品日韩专区AV| 亚洲无码高清视频在线观看| 99热最新网址| 国产女人18水真多毛片18精品| 亚洲国产日韩欧美在线| 色噜噜综合网| 在线免费a视频| 国产免费人成视频网| 永久免费av网站可以直接看的| 91精品视频在线播放| 日本国产一区在线观看| 九九九久久国产精品| 亚洲天堂视频网站| 毛片免费在线| jizz国产视频| 日本午夜影院| 国产精品免费福利久久播放| 操美女免费网站| 亚洲成人手机在线| 在线观看91精品国产剧情免费| 不卡无码网| 亚洲国产成人麻豆精品| 国产成人亚洲毛片| 热伊人99re久久精品最新地| 被公侵犯人妻少妇一区二区三区| 欧美激情视频一区| 亚洲精品无码高潮喷水A| 亚洲精品天堂自在久久77| 激情国产精品一区| 91无码人妻精品一区二区蜜桃| 日韩区欧美国产区在线观看| 亚洲第一中文字幕| 国产精品一区在线麻豆| 国内丰满少妇猛烈精品播| 青青草91视频| 九九视频免费在线观看| 一级香蕉视频在线观看| 国产永久无码观看在线| 99资源在线| 亚洲综合极品香蕉久久网|