想研究C 高併發高可用後台伺服器

時間 2021-05-29 22:59:07

1樓:白楊

C/C++ 高併發伺服器可以看我這篇小文:

高併發、高效能 Web 架構

強一致、高可用、高效能的分布式集群就更複雜一點,涉及分布式架構、分布式協調、分布式訊息分發等方面,可以看我這篇小文:

nano-SOA 架構 - SOA 的有力替代和補充預警:這篇 nano-SOA 裡的私貨比較多。。。

2樓:子猫

高併發1 資料庫、快取中介軟體是要吃透的

2 網路開發模型,多執行緒、鎖、協程、訊息機制都需要了解。

3 系統架構設計,比如把系統中按照無狀態、有狀態服務進行區分,這樣無狀態服務就可以很方便的進行水平擴充套件,有狀態的服務不容易水平擴充套件,遇到瓶頸後只能按照業務不同進行垂直拆分。一般web服務都是無狀態服務,遊戲伺服器大多是有狀態服務。

高可用1 系統中的各個模組需要有failover功能2 系統中的各個模組需要有隨時可用的映象備份

3樓:

高併發:

scylladb/seastar

Envoy Proxy - Home

高可用:

Apache ZooKeeper

但你要知道,並不存在高可用伺服器這種東西,一台機器永遠沒法高可用。

不過放了這麼多,估計你也並不會看。

4樓:向磊

按我的題目理解,去研究一下epoll/kqueue的實現,c++參考nginx,Python參看tornado原始碼可以幫助理解,高可用參看zookeeper和paxos演算法實現。

只有Java能做高併發嗎?Python和c 如何解決高併發問題?

眾所周知高併發場景下鎖和執行緒上下文切換的開銷是異常大的,所以高併發場景要盡可能減少執行緒切換和鎖,同時又要盡可能利用所有的資源。用 C 舉例,你可以利用語言本身提供的 stackless coroutine 特性,即 async await 輕而易舉地寫出無鎖的非同步協程邏輯。利用 Task 對其...

如何獲得高併發的經驗?

飛援科技 章躍平 首先,需要機會參與有高併發產品機會,因為實戰經驗是前提 其次,需要對網路,系統架構,開發語言,資料庫調優有足夠的知識 再次,需要和測試同事保持密切合作,在系統上線之前,把高併發問題扼殺在搖籃 最後系統上線後,做好監控,運維工作,隨時把握系統流量壓力。最後還需要再安全,防doss攻擊...

Java Web高併發搶單如何實現?

於Mr 簡單的,分布式服務用redis做個簡單的分布式鎖,因為redis是單執行緒多路復用,判斷incr返回就行,比如你有十個庫存,超過的全部返回失敗。其餘細節退貨或者下單失敗恢復庫存什麼的自己考慮一下。 張鵬飛 圓胖腫 首先第一步,你得讓海量請求進來,第二步才是對進來的請求排隊處理。第二步只是時間...