[請益]高流量網站和資料結構

作者: ntpuisbest (阿龍)   2021-08-21 14:46:21
先自承是非本科的新人
最近看了版上的討論串,覺得自己的確實是
沒有CS基礎的API工程師,以前在學校修過資料結構
但是只有一些很粗糙的觀念
像是hash function因為返回的是index,所以在查找資料上非常快
目前還在惡補基礎的DS,至於OS和計算機組織就真的完全沒概念了
每次看到thread,大概就止步於看到那種for loop 交叉印出不同函數的例子
自己稍微爬文下來,不太懂如果要往高流量網站的設計邁進
該怎麼去活用那些知識
我爬文的結果有點像是
如果一張資料庫數量超過百萬
那這樣就要想辦法把資料分成不同的表格
然後這時hashmap 就可以幫你找到不同的表格這樣?
爬文大概看到以下方法
1.建立多個File server , 寫hash function 將上傳的圖片及影音平均分散到File server
上的Folder
2.Query優化、索引優化及將負載重的table做反正規化以減少資料庫負荷
建立Master /Slave 資料庫,分散Master主機loading,將讀寫資料庫動作分離,
Matster DB只負責被寫入及複製,Slave DB負責被讀取
3.可能還有一些cache之類的
比如說像是搶票網站好了
https://imgur.com/TON1Nid
看到有人說可以這樣解決
那像這樣的知識,是不是要想辦法進去大公司才有辦法學到
比較難在網路上,像是一般的前後端CRUD一樣容易獲得?
另外想問說,如果有一個API,他是getallemployee好了,打了url就要返回所有的員工
資料,這是如果是高併發高流量的網站設計
該怎麼活用資料結構,才能讓網站不要LAG
還是說這可能跟資料結構比較無關,我要去補充其他知識才會知道
如果可以的話,希望前輩們可以分享哪些關鍵字或是網站有sample code可以查詢
作者: MoonCode (MoonCode)   2021-08-21 14:49:00
百萬筆的話還是把機器加大吧
作者: neo5277 (I am an agent of chaos)   2021-08-21 14:49:00
併發 高流量 可以分好幾段去解 你先理解流程比較容易知道該自哪邊加東西,用那些工具沒有定論都是試出來的
作者: jason2641668 (鋼球智者)   2021-08-21 14:52:00
認真講 先把基礎補好吧面試最討厭那種滿嘴高併發高流量問點基礎也不會的
作者: alihue (wanda wanda)   2021-08-21 14:59:00
你怎麼可以命名 master slave 這樣進不去 google百萬筆而已 換個 SSD 就好然後高流量網站很模糊阿:靜態網站、交易、寫log、一致性latency要求、req payload大小 這些都先定義好再問高流量靜態網站 那我會說買好 CDN 就好ㄏ一致性不重要,那全載記憶體 aws 開個 auto scale out就好沒定義好需求 根本無法討論
作者: ldkrsi (衰神)   2021-08-21 15:06:00
"是不是要想辦法進去大公司才有辦法學到" 是
作者: alihue (wanda wanda)   2021-08-21 15:08:00
同上 要進去"高流量軟體"的 team 不一定要知道怎麼幹因為你的知識在這個 team 可能幾乎用不上。除非你面資深缺
作者: Hsins (翔)   2021-08-21 15:42:00
小流量撐不住是 DSA 問題,大流量撐不住是架構問題
作者: kvjo (同名專輯)   2021-08-21 16:43:00
不是高手 但經驗上...不見得1. 應該說商業上有這樣的場景 那有機會接觸到2.但你不是資深的也不是相關職位的 也不需要讓你碰3. 更有組織的公司應該有資深的人在負責這個4. 也不是說不會就沒有價值 軟體團隊上 還有其他角色價值也覺得滿奇怪的 很多人面試愛問高流量現在商業 有這麼多 未完成的高流量服務要給你做嗎?問了高流量經驗 阿你是每個缺都在找這樣的人 要大膽讓人改?其實很多面試官 也就平常人啊..... 不是因為面試什麼 他就強滿多面試官 感覺也倆光兩光的 哈
作者: bjk (Up2u)   2021-08-21 18:15:00
遇到很多博弈問大流量經驗,但感覺面試官自己也不會
作者: dces4212 (flawless)   2021-08-21 20:26:00
作者: ntpuisbest (阿龍)   2021-08-22 00:54:00
謝謝各位
作者: jej (晃奶大馬桶)   2021-08-22 13:51:00
總共百萬筆資料還是一天百萬筆總共才百萬 就硬體加強就好了一天百萬筆就是加強硬體 分散式 查尋 修改分離等策略
作者: miku3920 (初音ミク)   2021-08-22 14:28:00
作者: DrTech (竹科管理處網軍研發人員)   2021-08-23 13:06:00
資料庫才百萬筆資料,不就是用最基本的 Index 就好。又是基本能力都沒學,在好高騖遠系列。
作者: ntpuisbest (阿龍)   2021-08-23 23:42:00
抱歉 會在加強基礎能力qq

Links booklink

Contact Us: admin [ a t ] ucptt.com