[請益]高流量網站和資料結構
先自承是非本科的新人
最近看了版上的討論串,覺得自己的確實是
沒有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之類的
比如說像是搶票網站好了
看到有人說可以這樣解決
那像這樣的知識,是不是要想辦法進去大公司才有辦法學到
比較難在網路上,像是一般的前後端CRUD一樣容易獲得?
另外想問說,如果有一個API,他是getallemployee好了,打了url就要返回所有的員工
資料,這是如果是高併發高流量的網站設計
該怎麼活用資料結構,才能讓網站不要LAG
還是說這可能跟資料結構比較無關,我要去補充其他知識才會知道
如果可以的話,希望前輩們可以分享哪些關鍵字或是網站有sample code可以查詢
--
百萬筆的話還是把機器加大吧
併發 高流量 可以分好幾段去解 你先理解流程
比較容易知道該自哪邊加東西,用那些工具沒有定論
都是試出來的
認真講 先把基礎補好吧
面試最討厭那種滿嘴高併發高流量
問點基礎也不會的
你怎麼可以命名 master slave 這樣進不去 google
百萬筆而已 換個 SSD 就好
然後高流量網站很模糊阿:靜態網站、交易、寫log、一致性
latency要求、req payload大小 這些都先定義好再問高流量
靜態網站 那我會說買好 CDN 就好ㄏ
一致性不重要,那全載記憶體 aws 開個 auto scale out就好
沒定義好需求 根本無法討論
"是不是要想辦法進去大公司才有辦法學到" 是
同上 要進去"高流量軟體"的 team 不一定要知道怎麼幹
因為你的知識在這個 team 可能幾乎用不上。除非你面資深缺
小流量撐不住是 DSA 問題,大流量撐不住是架構問題
不是高手 但經驗上...不見得
1. 應該說商業上有這樣的場景 那有機會接觸到
2.但你不是資深的也不是相關職位的 也不需要讓你碰
3. 更有組織的公司應該有資深的人在負責這個
4. 也不是說不會就沒有價值 軟體團隊上 還有其他角色價值
也覺得滿奇怪的 很多人面試愛問高流量
現在商業 有這麼多 未完成的高流量服務要給你做嗎?
問了高流量經驗 阿你是每個缺都在找這樣的人 要大膽讓人改?
其實很多面試官 也就平常人啊..... 不是因為面試什麼 他就強
滿多面試官 感覺也倆光兩光的 哈
遇到很多博弈問大流量經驗,但感覺面試官自己也不會
謝謝各位
總共百萬筆資料還是一天百萬筆
總共才百萬 就硬體加強就好了
一天百萬筆就是加強硬體 分散式 查尋 修改分離等策略
https://mark-lin.com/tags/it-鐵人賽-2019/
資料庫才百萬筆資料,不就是用最基本的 Index 就好。又是
基本能力都沒學,在好高騖遠系列。
抱歉 會在加強基礎能力qq
6
講購票系統,台灣的講法永遠只有一個,就是AWS 可以動態增加,沒了。 劃位如何LOCK? 要先扣再劃,還是先劃再扣? 還有劃位方式? USER 自己挑? 都電腦挑? --3
高流量應用 你沒定義好需求根本無法討論怎麼設計 1. 資料一致性要求? 持久性要求? 如果一定要用到交易,基本上一致性和持久性就一定要, 就直接用掉 CAP 定理的 Consistency,算是最常見的瓶頸 2. 如果是寫 log 系統,這種 QPS 要破萬比網站容易多了,也很常見9
「沒有學會走,先學跑,從來不是問題,但先問一問自己是不是天才。 如果不是,就要一步步來。」 (寒戰2 梁家輝) 我假設你是三年以內的工程獅,那有這個問題合理 那如果你是三年以上的工程獅,Umm... 這麼說好了,高併發跟海量請求其實是集合性的名詞、概念跟技術64
首先很高興看到原PO發問 能夠這樣追逐更深入的技術,先恭喜你,離高手又更近一步了 我寫程式要飯也好一陣子了,分享一下我從聽說大流量很屌,想玩大流量, 到現在可以真正碰觸到大流量一路的心得 在開始之前,先回應原PO的 搶票網站 例子16
這是常用場景,已知問題,所以有很多解決方案。 其中一種就是類似Twtiiter的Push架構,每次新增一個員工就把資料寫進cache&DB 然後API打進來先去問cache要資料,然後cache多設幾個組成一個cluster, 避免單點失效...這些知識都可以從下面推薦的網站中學到,不用做過也略知一二 : 還是說這可能跟資料結構比較無關,我要去補充其他知識才會知道
18
[請益] 每日盤後 raw data 原始數據 如何取得你各位每天看得 App , 各股票網站的各種圖表 例如:分點進出,每天開收盤價,量 等等 都是由台灣證券交易所獲得資料,再利用這些資料做出圖表 我想獲得原始資料,匯入資料庫,自行分析 利用 SQL 自己下條件17
[請益] 後端職涯發展、如何精進/ 背景交代 小弟目前是月領五萬的JS後端(第一份工作未滿半年), 因為工作輕鬆常在想要如何更精進, 目前的規劃是想全面加強資料結構的理解, 一邊持續用c++來刷題,13
Re: [問卦] C++可以啟發孩子的程式天份嗎?那要看你怎麼定義程式天份 如果是講演算法跟資料結構 用C或Python下去操比較快 如果是講計算機結構 一樣也是用C跟OS下去操 國中時 C++是我第一門接觸的語言 那個時候要做遊戲的難度不低14
Re: [請益] 後端精進的方向?如果為了薪水導向,那跟開發語言無關,跟產業有關 每個語言都很好,但根據它的長短處,實務應用的場景各有不同 如果你求的是全端快速開發網站,那 PHP、ROR 等等的成績有目共睹 如果你求的是商業生態系完整,那 .NET、Java 歷史悠久 如果你求的是運行的極速,這幾年 Go、Rust 能見度上升有其道理13
[請益] 防疫實名制網頁的一些問題現在去買個肯德基都要經過各種掃描登記,但我發現登記的網站是肯德基自己的官網 所以不曉得是肯德基向政府機構登錄使用他們提供的Api進行實名登錄還是把資料寫進他 們自己的DB 如果是寫入自己的資料庫要怎麼知道確診案例是否來過本店面,提供名單給衛福部? 如果是透過政府機構申請又該去哪裡找到相關資料,我實在找不到 google 的方向...4
Re: [請益] 商城的訂單資料庫設計我並不是工程師, 目前也在自學中, 針對你的問題提供些答案與解決方向, 希望能幫助到原po, 版上的其他前輩們,3
[請益] Django+Mysql資料表問題最近在學習Django,使用Mysql做為資料庫 想呈現的內容是一檔股票每周股權分散的變化 雖然資料表已經創建完成了,不過我用的方式是 先寫好建立資料表的sql語法,用for loop執行(一個csv檔建立一個Table) 表格內容也是用for loop Insert進去