iT邦幫忙

1

請問只有一台主要 DB 如何解決 C10K 問題

請問只有一台主要 DB 如何解決 C10K 問題

目前對於 AP 端可以簡單使用多台 Server + Load Balance 解決
但是 DB 負責寫的資料庫我遇過的情況都只能一台主要負責寫的
多台 DB 也只是做讀寫分離而已。

這樣就有一個問題 , 就算 AP 端解決了 C10K 問題
那麼 DB 端不一樣只有 Client 10000 的能力 , 一樣會爆掉?

補充 : C10K 定義

C10K 就是 Client 10000 問題,即「在同時連接到服務器的客戶端數量超過 10000 個的環境中,即便硬件性能足夠, 依然無法正常提供服務」,簡而言之,就是單機1萬個併發連接問題。這個概念最早由 Dan Kegel 提出併發布於其個人站點( http://www.kegel.com/c10k.html )。

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2020-08-28 15:07:27 檢舉
cache + task schedule

另外,你貼的C10K的定義:
> 單機1萬個併發連接問題

你AP用多台server就沒解決C10K了。
go、node之所以會流行就是因為天生有異步機制來支持高併發連接。
您好 froce 大師 , 請問能底下留言嗎?
後進想設為最佳答案
雷大的講解您參考一下 :D
https://ithelp.ithome.com.tw/questions/10199130
您好,有點不一樣,他們談得比較偏向 AP Server
ORACLE RAC?
harrytsai iT邦新手 3 級 ‧ 2020-08-31 23:11:26 檢舉
這可能要從硬體、網路、軟體調教,三方面來分析,真正的10K也是一種調教出來的值,雖然我之前看過很多幾K的模組,但是你沒有實際跑AP,光靠自我測試很難真正的抓出問題

1 個回答

2
㊣浩瀚星空㊣
iT邦超人 1 級 ‧ 2020-08-28 16:51:10
最佳解答

你換個想法。為何會有所謂的10k?
這個限制真的是機器效能的問題產生的嘛?

認真來說,並發量最主要的問題還是在於網路。
只是在早期的機器,在網路未達到高峰值時。就已經負載過高承載不了。

所以就只能用網路的方式來解決。(加ap或是vpc多重網路區域處理多流)
不想用網路的方式來解決就得要能做出等待釋放連線的機制。
(如 froce 說的 go node、py.....)

你要真的懂啊,不要只是網路文章看一下就隨便貼上來問。
我會早晚給你考試你之前問過的東西。

努力求知識是很好,但努力來打發就不好了。

我要發表回答

立即登入回答