不知道大家打開本文,有沒有留意文章所在的分類節(jié)點(diǎn):云計(jì)算。其實(shí)我的本意,是要將微服務(wù)跟云架構(gòu)歸類在一起。因?yàn)樗麄兌加兄粋€(gè)相同的存在目的:方便擴(kuò)容!
目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、荊州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
擴(kuò)容。對(duì)于遇到過系統(tǒng)瓶頸,需要擴(kuò)容的系統(tǒng),恭喜你,你的系統(tǒng)一定是快速發(fā)展,遇到了訪問量上升的情況!
【云架構(gòu),系統(tǒng)擴(kuò)容案例】
先說下我個(gè)人的經(jīng)歷:我是做GPS防盜器系統(tǒng)的,硬件需要給后臺(tái)服務(wù)器回發(fā)數(shù)據(jù),所以硬件產(chǎn)品銷售的越好,我的系統(tǒng)就需要面對(duì)越來越多的壓力挑戰(zhàn)。 感謝經(jīng)歷了這樣的一個(gè)過程,讓我深刻意識(shí)到了系統(tǒng)擴(kuò)容架構(gòu)設(shè)計(jì)的巨大價(jià)值。 我的項(xiàng)目里,經(jīng)歷過這么三個(gè)階段:
第一階段:?jiǎn)螜C(jī)階段
單機(jī)應(yīng)用,單進(jìn)程應(yīng)用,事實(shí)證明只能承載幾百設(shè)備并發(fā)。
通過改造多線程,IOCP設(shè)計(jì)模型,可以承載20000以上的并發(fā)
瓶頸點(diǎn):難以突破單機(jī)應(yīng)用的并發(fā)能力,每次遇到難點(diǎn)都得重構(gòu)。在我的案例里,就是可以增加到30000負(fù)載,增加不到50000萬負(fù)載!
第二階段:手動(dòng)拆分多服務(wù)器階段
手動(dòng)分布式分離設(shè)計(jì),網(wǎng)站,socket接收程序,緩存,數(shù)據(jù)庫(kù),使用自建機(jī)房獨(dú)立運(yùn)行。事實(shí)證明,可以承載幾十萬設(shè)備并發(fā)
瓶頸點(diǎn):自建機(jī)房防火墻設(shè)備有并發(fā)數(shù)限制,CISCO ASA 5515防火墻最大允許25萬連接。
第三階段:云架構(gòu)階段
云架構(gòu)設(shè)計(jì),通過修改系統(tǒng),實(shí)現(xiàn)自動(dòng)擴(kuò)容。這個(gè)時(shí)候,客戶端設(shè)備數(shù)再多也沒事,因?yàn)? 阿里云 的 SLB 之后的 ECS服務(wù)器 數(shù)量可以隨時(shí)添加和減少,目前已經(jīng)達(dá)到了100多萬的設(shè)備并發(fā)連接無壓力。
瓶頸點(diǎn):僅限于我,將來數(shù)據(jù)庫(kù)壓力還需要進(jìn)一步優(yōu)化,但是目前并發(fā)設(shè)備數(shù)上百萬毫無壓力,不過阿里云的分布式數(shù)據(jù)庫(kù)DRDS似乎也能解決我的難點(diǎn)。
【微服務(wù),模塊化應(yīng)用案例】
我的案例下,重點(diǎn)解釋了云架構(gòu)的作用,沒有重點(diǎn)介紹微服務(wù)的作用。但是實(shí)際上,在幾次改造過程中,已經(jīng)使用了一點(diǎn)點(diǎn)微服務(wù)的功能:
模塊化功能,剛才我的案例都是基于整體系統(tǒng)拆分,實(shí)際上還有個(gè)優(yōu)化空間就是改造成微服務(wù)?!拔⒎?wù)應(yīng)用”舉例:
登錄系統(tǒng)功能: 目前同時(shí)登陸用戶最多也就幾百人。登陸功能代碼跟著網(wǎng)站整體發(fā)布,負(fù)載均衡下需要一下子維護(hù)起來一下子更新幾十臺(tái)web機(jī)器,顯然太多余。如果登陸功能這個(gè)“微服務(wù)”組件單獨(dú)發(fā)布,那么只用2臺(tái)web機(jī)器(“登錄功能專用服務(wù)器”)專門負(fù)載登陸功能戳戳有余。將來這部分系統(tǒng)壓力增加,只需要增加一臺(tái)“登陸服務(wù)器”即可。
查詢定位功能: 每個(gè)人的定位頁(yè)面都在高頻率刷新訪問,雖然只有幾百人登陸,但是造成的訪問次數(shù)卻高達(dá)上萬次。怎么辦?專門拿出十幾臺(tái)web服務(wù)器,用于“定位查詢服務(wù)器”。這樣,如果監(jiān)控到定位功能有問題,只需要從這十幾臺(tái)“定位查詢服務(wù)器”中排查問題!
結(jié)論:微服務(wù)的目的在于軟件開發(fā)層面的功能化拆分。 對(duì)于使用微服務(wù):小項(xiàng)目用起來費(fèi)力,大項(xiàng)目用起來省心。
所以導(dǎo)致現(xiàn)在觀點(diǎn)多種:
沒接觸過大項(xiàng)目的人覺得微服務(wù)就是個(gè)累贅;
接觸過大項(xiàng)目的人承認(rèn)微服務(wù)的價(jià)值,卻不建議小項(xiàng)目使用微服務(wù)進(jìn)行“高射炮打蚊子”
一直做大流量項(xiàng)目的人,提倡使用微服務(wù)。
【結(jié)論】
微服務(wù)的價(jià)值:在于將來訪問量上升時(shí),精準(zhǔn)調(diào)控某一個(gè)瓶頸點(diǎn)的功能,主要屬于開發(fā)層面的儲(chǔ)備
云架構(gòu)的價(jià)值:在于訪問量上升時(shí),直接增加服務(wù)器數(shù)量擴(kuò)大系統(tǒng)承載閾值,主要屬于運(yùn)維層面的儲(chǔ)備
微服務(wù)+云架構(gòu):大型系統(tǒng)的重要組合!
原文地址:
https://www.opengps.cn/Blog/View.aspx?id=279
文章的更新編輯依此鏈接為準(zhǔn)。歡迎關(guān)注源站原創(chuàng)文章!