回覆列表
-
1 # 流麥士
-
2 # 夢迴故里歸來
高併發,高可用是兩個方面。
高併發:在同一時間內能夠處理越多的請求越好,這就要求我們的伺服器能夠響應這些請求,比如需要加大記憶體,加大頻寬,在這些達到一定程度的時候,我們就只能透過水平擴充套件了,就是進行分散式部署,讓請求落在不同的機器上,這樣就可以處理更多的請求,如何讓請求落在不同的機器上呢,這就需要我們設定代理轉發,一般是nginx進行負載均衡,讓請求合理的分配到各個機器上。
高可用:就是資料不能丟失,出現問題之後,要能有自愈能力,就是一個伺服器掛了,並不影響服務的提供,這裡我們就可以設定資料庫備份,主從配置,伺服器也進行監聽,如果有伺服器宕機,可以自動切換到可用的機器上。haproxy可以做到這樣的控制。
-
3 # 百戰君
如何做到服務的高併發、高可用?
這個看起來好像只有一個問題?實際上卻需要一大部頭專著來闡述才能完成清晰的解答,在此只能泛泛而談說個概念。
要實現這個要求,多執行緒技術,分散式技術,快取技術和epoll多路複用技術等都是非常有效的。
除了服務開發過程中需要注意相關技術的應用,關鍵還是服務部署時需要注意的問題。專業的事需要交給專家來完成。一個專業級別的伺服器(叢集)已經包含了使用者大部分的關注和需求,能讓使用者能更專注於系統實施及應用。
因此,除了軟體開發,硬體投入也是必不可少的。
-
4 # 瘋子相信傻子
高併發和高可用? 個人建議使用現有的框架,不要重新造輪子,可以考慮使用zookeeper 做分散式程序處理,然後可以mongo做資料庫 訊息佇列可以選擇的比較多,最好有一個實際的場景 而不是一概而論的高併發 。一般來說肯定是有一個瓶頸的,一般io 記憶體 cpu等,建議具體問題具體最佳化 。 有問題可以@我
高可用
1、負載均衡
2、限流
3、降級
4、隔離
5、超時與重試
6、回滾
7、壓測與預案
高併發1、應用級快取
2、HTTP快取
3、多級快取
4、池化
5、非同步併發
6、擴容
7、佇列
每一個點都可以展開
推薦一本書《億級流量網站架構》,京東開濤老溼寫的,很有實際的專案借鑑價值。