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