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