歡迎來到深圳市來科信科技有限公司網站!
        您當前的位置:深圳APP開發 > 新聞資訊 > APP開發資訊 >

        已閱讀

        APP開發如何做好高并發架構設計

        來源:www.bqtao.cn ?? ?? 發布時間:2017-09-19
        大多數深圳APP開發公司開發項目時,很少有考慮高并發的情況。因為找外包公司開發APP的,一般都是產品的初級階段,用戶量不會很大,成本也不會花太多,所以是根本不用考慮高并發的。但是,如果要做好一款產品,在架構設計時,是一定要考慮高并發的情況的。下面就為大家簡單講解一下,關于如何做高并發架構設計的問題。
         
        APP開發中的高并發架構設計圖
         
        一、什么是高并發
        高并發(High Concurrency)是互聯網分布式系統架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統能夠同時并行處理很多請求。
         
        高并發相關常用的一些指標有響應時間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),并發用戶數等。
         
        響應時間:系統對請求做出響應的時間。例如系統處理一個HTTP請求需要200ms,這個200ms就是系統的響應時間。
        吞吐量:單位時間內處理的請求數量。
        QPS:每秒響應請求數。在互聯網領域,這個指標和吞吐量區分的沒有這么明顯。
        并發用戶數:同時承載正常使用系統功能的用戶數量。例如一個即時通訊系統,同時在線量一定程度上代表了系統的并發用戶數。
         
        二、如何提升系統的并發能力
        互聯網分布式架構設計,提高系統并發能力的方式,方法論上主要有兩種:垂直擴展(Scale Up)與水平擴展(Scale Out)。
        垂直擴展:提升單機處理能力。垂直擴展的方式又有兩種:
        (1)增強單機硬件性能,例如:增加CPU核數如32核,升級更好的網卡如萬兆,升級更好的硬盤如SSD,擴充硬盤容量如2T,擴充系統內存如128G;
        (2)提升單機架構性能,例如:使用Cache來減少IO次數,使用異步來增加單服務吞吐量,使用無鎖數據結構來減少響應時間;
         
        在互聯網業務發展非常迅猛的早期,如果預算不是問題,強烈建議使用“增強單機硬件性能”的方式提升系統并發能力,因為這個階段,公司的戰略往往是發展業務搶時間,而“增強單機硬件性能”往往是最快的方法。
         
        不管是提升單機硬件性能,還是提升單機架構性能,都有一個致命的不足:單機性能總是有極限的。所以互聯網分布式架構設計高并發終極解決方案還是水平擴展。
         
        水平擴展:只要增加服務器數量,就能線性擴充系統性能。水平擴展對系統架構設計是有要求的,如何在架構各層進行可水平擴展的設計,以及互聯網公司架構各層常見的水平擴展實踐,是本文重點討論的內容。
         
        高并發(High Concurrency)是互聯網分布式系統架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統能夠同時并行處理很多請求。
        提高系統并發能力的方式,方法論上主要有兩種:垂直擴展(Scale Up)與水平擴展(Scale Out)。前者垂直擴展可以通過提升單機硬件性能,或者提升單機架構性能,來提高并發性,但單機性能總是有極限的,互聯網分布式架構設計高并發終極解決方案還是后者:水平擴展。
        互聯網分層架構中,各層次水平擴展的實踐又有所不同:
        (1)反向代理層可以通過“DNS輪詢”的方式來進行水平擴展;
        (2)站點層可以通過nginx來進行水平擴展;
        (3)服務層可以通過服務連接池來進行水平擴展;
        (4)數據庫可以按照數據范圍,或者數據哈希的方式來進行水平擴展;
        各層實施水平擴展后,能夠通過增加服務器數量的方式來提升系統的性能,做到理論上的性能無限。
         
        APP開發 網站開發 產品設計 微信公眾號 APP開發公司 用戶體驗 APP運營 微信小程序 產品經理 網站設計