隨著各互聯(lián)網(wǎng)大廠業(yè)務(wù)需求的井噴式增長(zhǎng),業(yè)務(wù)架構(gòu)早已不是個(gè)新詞。企業(yè)業(yè)務(wù)的高速發(fā)展、業(yè)務(wù)體量的不斷增長(zhǎng),業(yè)務(wù)場(chǎng)景的日益復(fù)雜化與差異化,以及不斷持續(xù)變化的業(yè)務(wù)需求,都對(duì)平臺(tái)化的架構(gòu)演進(jìn)以及系統(tǒng)設(shè)計(jì)提出了更多的挑戰(zhàn)和更高的要求。架構(gòu)師在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)需兼顧業(yè)務(wù)功能的實(shí)現(xiàn)以及同時(shí)保證系統(tǒng)的高并發(fā)、高可用。
隨著各互聯(lián)網(wǎng)大廠業(yè)務(wù)需求的井噴式增長(zhǎng),業(yè)務(wù)架構(gòu)早已不是個(gè)新詞。企業(yè)業(yè)務(wù)的高速發(fā)展、業(yè)務(wù)體量的不斷增長(zhǎng),業(yè)務(wù)場(chǎng)景的日益復(fù)雜化與差異化,以及不斷持續(xù)變化的業(yè)務(wù)需求,都對(duì)平臺(tái)化的架構(gòu)演進(jìn)以及系統(tǒng)設(shè)計(jì)提出了更多的挑戰(zhàn)和更高的要求。架構(gòu)師在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)需兼顧業(yè)務(wù)功能的實(shí)現(xiàn)以及同時(shí)保證系統(tǒng)的高并發(fā)、高可用。
什么是高并發(fā)、高性能、高可用?
1、高并發(fā)(High Concurrency)
高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指,通過(guò)設(shè)計(jì)保證系統(tǒng)能夠同時(shí)并行處理很多請(qǐng)求。高并發(fā)相關(guān)常用的一些指標(biāo)有響應(yīng)時(shí)間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),并發(fā)用戶數(shù)等。
如何提高并發(fā)能力?一方面需要增強(qiáng)單機(jī)硬件性能(優(yōu)先):例如:增加CPU核數(shù)如32核,升級(jí)更好的網(wǎng)卡如萬(wàn)兆,升級(jí)更好的硬盤如SSD,擴(kuò)充硬盤容量如2T,擴(kuò)充系統(tǒng)內(nèi)存如128G。
另一方面要提升單機(jī)架構(gòu)性能:例如:使用Cache來(lái)減少IO次數(shù),使用異步來(lái)增加單服務(wù)吞吐量,使用無(wú)鎖數(shù)據(jù)結(jié)構(gòu)來(lái)減少響應(yīng)時(shí)間。
2、高性能(High Performance)
什么是高性能呢?高性能是指程序處理速度非???,所占內(nèi)存少、CPU 占用率低。高性能的指標(biāo)經(jīng)常和高并發(fā)的指標(biāo)緊密相關(guān),想要提高性能,那么就要提高系統(tǒng)高并發(fā)能力,兩者互相捆綁在一起。應(yīng)用性能優(yōu)化的時(shí)候,對(duì)于計(jì)算密集型和 IO 密集型還是有很大差別,需要分開來(lái)考慮。還有可以增加服務(wù)器的數(shù)量、內(nèi)存、IO 等參數(shù)提升系統(tǒng)的并發(fā)能力和性能,但不要浪費(fèi)資源,要考慮硬件的使用率最高才能發(fā)揮到極致。
怎么樣提高性能呢?
避免因?yàn)?IO 阻塞讓 CPU 閑置,導(dǎo)致 CPU 的浪費(fèi)。
避免多線程間增加鎖來(lái)保證同步,導(dǎo)致并行系統(tǒng)串行化。
免創(chuàng)建、銷毀、維護(hù)太多進(jìn)程、線程,導(dǎo)致操作系統(tǒng)浪費(fèi)資源在調(diào)度上。
3、高可用(High Availability)
高可用性(High Availability)通常來(lái)描述一個(gè)系統(tǒng)經(jīng)過(guò)專門的設(shè)計(jì),從而減少停工時(shí)間,而保持其服務(wù)的高度可用性(一直都能用)。
實(shí)現(xiàn)一個(gè)高可用的互聯(lián)網(wǎng)應(yīng)用和服務(wù)是個(gè)非常具有挑戰(zhàn)的任務(wù)。每個(gè)架構(gòu)師對(duì)高可用或許都有不同理解。對(duì)很多架構(gòu)師而言,高可用意味著服務(wù)不存在單點(diǎn)故障、數(shù)據(jù)有冗余備份、架構(gòu)設(shè)計(jì)上避免使用單點(diǎn)。
新網(wǎng)云服務(wù)器ECS集SDN、分布式集群、超強(qiáng)性能、故障自愈等技術(shù)構(gòu)建的彈性可伸縮計(jì)算服務(wù),管理易用、性能強(qiáng)勁,為您提供高可用的互聯(lián)網(wǎng)應(yīng)用:https://www.xinnet.com/cs/cs.html
免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。