在軟件研發過程中,經常會聽到高并發、高可用這兩詞,但是很多人都不知道如何做到服務的高并發、高可用?要實現這個要求,多線程技術,分布式技術,緩存技術和epoll多路復用技術等都是非常有效的。除了服務開發過程中需要注意相關技術的應用,關鍵還是服務部署時需要注意的問題。專業的事需要交給專家來完成。一個專業級別的服務器(集群)已經包含了用戶大部分的關注和需求,能讓用戶能更專注于系統實施及應用。
如何做到服務的高并發、高可用?
這個看起來好像只有一個問題?實際上卻需要專著來闡述才能完成清晰的解答,在此只能泛泛而談說個概念。高并發,高可用是兩個方面。
高并發:在同一時間內能夠處理越多的請求越好,這就要求我們的服務器能夠響應這些請求,比如需要加大內存,加大帶寬,在這些達到一定程度的時候,我們就只能通過水平擴展了,就是進行分布式部署,讓請求落在不同的機器上,這樣就可以處理更多的請求,如何讓請求落在不同的機器上呢,這就需要我們設置代理轉發,一般是nginx進行負載均衡,讓請求合理的分配到各個機器上。同時還要做到如下幾點:
1、應用級緩存
2、HTTP緩存
3、多級緩存
4、池化
5、異步并發
6、擴容
7、隊列
高可用:就是數據不能丟失,出現問題之后,要能有自愈能力,就是一個服務器掛了,并不影響服務的提供,這里我們就可以設置數據庫備份,主從配置,服務器也進行監聽,如果有服務器宕機,可以自動切換到可用的機器上。haproxy可以做到這樣的控制。同時還要做到如下幾點:
1、負載均衡
2、限流
3、降級
4、隔離
5、超時與重試
6、回滾
7、壓測與預案
通過上述介紹,如何做到服務的高并發、高可用相信大家已經清楚了吧,想了解更多關于高并發、高可用的信息,請繼續關注中培偉業。