PTT評價

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

看板Soft_Job標題Re: [請益]高流量網站和資料結構作者
alihue
(wanda wanda)
時間推噓 3 推:6 噓:3 →:13

高流量應用 你沒定義好需求根本無法討論怎麼設計


1. 資料一致性要求? 持久性要求?

如果一定要用到交易,基本上一致性和持久性就一定要,

就直接用掉 CAP 定理的 Consistency,算是最常見的瓶頸

2. 如果是寫 log 系統,這種 QPS 要破萬比網站容易多了,也很常見

在台灣,檯面下 QPS 破萬的 log 系統應該比檯面上的"網站"多

但這種系統通常送出 request 就不理他了,

因此後端可以用 kafka 之類的大量接收 至於要怎麼寫 log 與寫到哪 (通常是 HDFS)

是另一段需求

3. 如果一致性不重要,基本上就盡量設計成可以無腦 Scale out

但如果系統有做 sharding,那 Scale out 的數量非常驚人,

因此如何撐爆單台的資源就變得重要

4. 根據情境,還需要判斷 bare metal server 的重要性。

例如你程式用到 file system cache 等

5. 事情沒這麼單純,還有 latency/SLA 要求,如 95% percentile < 100ms 等

6. 外加 request payload 大小多大



7. 其實這些系統會再劃分好幾個子團隊,例如搞 storages、搞整合(dependencies)測試

真正搞大流量設計的是核心中的核心

其中因為系統通常包含非常多 components,整合測試規模可能會很複雜


我覺得還有很多我沒列到的 畢竟大流量系統的情境多元,

即使同樣的需求,不同團隊討論出的設計也不盡相同

因此在討論"大流量"沒先說好需求,那討論基本上會過於發散

如果你是靜態網站 那就 CDN 設好就能撐 QPS 一萬惹


要進大流量系統的團隊 不一定要需要先做過

即使考系統設計 也只是想知道你對於每個 Componennt 抉擇的邏輯合理性

實務上設計因為需求會更 tricky


因此建議:

a. 基本知識弄好: OS 演算法 資料結構 multithreads 寫程式基本功

語言也要夠深,知道怎麼做 Memory/CPU profiling

如果有用到如 JVM 的技術,也要知道 GC 演算法與怎麼分析與調整參數

b. 找出大流量團隊在哪,不是你進 google 就能搞這個


--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.73.26.66 (日本)

※ 文章網址:
https://www.ptt.cc/Soft_Job/M.1629618866.A.67F

※ 編輯: alihue (106.73.26.66 日本), 08/22/2021 15:56:03

alihue08/22 16:05補充,以購物網站就有不同的流量主題:搜尋 訂單成交 商

alihue08/22 16:05品庫存 推薦系統 使用者前端log

jason264166808/22 16:05有沒有經驗啊 靜態網站QPS才1萬

jason264166808/22 16:08https://i.imgur.com/1Tw8bRl.png

jason264166808/22 16:08隨便挑臺大學維護的系網站壓一下

jason264166808/22 16:09這樣都能發文哦

jason264166808/22 16:11真的完全在打臉自己基本功的部份

jason264166808/22 16:13系網站不是商用機器 一般pchome買的到的commodity

https://i.imgur.com/lw1Ig63.jpg

※ 編輯: alihue (106.73.26.66 日本), 08/22/2021 16:14:02

FlowerKnight08/22 16:32Lushen人格跑出來了

brucetu08/22 16:56請問jason大大的系網站每個request是多少流量?

※ 編輯: alihue (106.73.26.66 日本), 08/22/2021 17:07:32

acgotaku08/22 17:39推 一致性的問題真的是高併發的難題

drajan08/22 17:39HDFS? 直接放到S3不是更簡單?

update. 查了一下同樣用途 s3 也做得到,選擇細節就看各 team 不過大公司還是會想要弄自己私有雲

MoonCode08/22 18:17QPS 還要看同時連線數量吧?你單機可以模擬十萬個 tcp

MoonCode08/22 18:17 connection?

MoonCode08/22 18:25Lushen 是誰

alihue08/22 18:28你捅過的鄉民,只是 ip 剛好跟 jason 一樣

MoonCode08/22 18:30你認錯人了我不是版主

※ 編輯: alihue (106.73.26.66 日本), 08/22/2021 18:31:33

alihue08/22 18:32抱歉 認錯人

MoonCode08/22 18:32對了 我好奇 jason 是測試哪個網站 我可以用 wrk -t1

MoonCode08/22 18:32-c10000 -d180 跑跑看

sammythekid08/22 20:17但後續資料整合就知道了。目前就在收s3的鍋

※ 編輯: alihue (106.73.26.66 日本), 08/22/2021 20:47:59

※ 編輯: alihue (106.73.26.66 日本), 08/23/2021 06:23:26

GGFACE08/23 10:34.............