作者ntpuisbest (阿龙)
看板Soft_Job
标题[请益]高流量网站和资料结构
时间Sat Aug 21 14:46:21 2021
先自承是非本科的新人
最近看了版上的讨论串,觉得自己的确实是
没有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可以查询
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.91.22.53 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1629528383.A.892.html
1F:推 MoonCode: 百万笔的话还是把机器加大吧 08/21 14:49
2F:推 neo5277: 并发 高流量 可以分好几段去解 你先理解流程 08/21 14:49
3F:→ neo5277: 比较容易知道该自哪边加东西,用那些工具没有定论 08/21 14:50
4F:→ neo5277: 都是试出来的 08/21 14:50
5F:→ jason2641668: 认真讲 先把基础补好吧 08/21 14:52
6F:→ jason2641668: 面试最讨厌那种满嘴高并发高流量 08/21 14:52
7F:→ jason2641668: 问点基础也不会的 08/21 14:52
8F:推 alihue: 你怎麽可以命名 master slave 这样进不去 google 08/21 14:59
9F:→ alihue: 百万笔而已 换个 SSD 就好 08/21 15:00
10F:→ alihue: 然後高流量网站很模糊阿:静态网站、交易、写log、一致性 08/21 15:02
11F:→ alihue: latency要求、req payload大小 这些都先定义好再问高流量 08/21 15:02
12F:→ alihue: 静态网站 那我会说买好 CDN 就好ㄏ 08/21 15:03
13F:→ alihue: 一致性不重要,那全载记忆体 aws 开个 auto scale out就好 08/21 15:04
14F:→ alihue: 没定义好需求 根本无法讨论 08/21 15:04
15F:推 ldkrsi: "是不是要想办法进去大公司才有办法学到" 是 08/21 15:06
16F:推 alihue: 同上 要进去"高流量软体"的 team 不一定要知道怎麽干 08/21 15:08
17F:→ alihue: 因为你的知识在这个 team 可能几乎用不上。除非你面资深缺 08/21 15:09
18F:→ Hsins: 小流量撑不住是 DSA 问题,大流量撑不住是架构问题 08/21 15:42
19F:→ kvjo: 不是高手 但经验上...不见得 08/21 16:43
20F:→ kvjo: 1. 应该说商业上有这样的场景 那有机会接触到 08/21 16:43
21F:→ kvjo: 2.但你不是资深的也不是相关职位的 也不需要让你碰 08/21 16:43
22F:→ kvjo: 3. 更有组织的公司应该有资深的人在负责这个 08/21 16:44
23F:→ kvjo: 4. 也不是说不会就没有价值 软体团队上 还有其他角色价值 08/21 16:44
24F:→ kvjo: 也觉得满奇怪的 很多人面试爱问高流量 08/21 16:45
25F:→ kvjo: 现在商业 有这麽多 未完成的高流量服务要给你做吗? 08/21 16:45
26F:→ kvjo: 问了高流量经验 阿你是每个缺都在找这样的人 要大胆让人改? 08/21 16:46
27F:→ kvjo: 其实很多面试官 也就平常人啊..... 不是因为面试什麽 他就强 08/21 16:46
28F:→ kvjo: 满多面试官 感觉也俩光两光的 哈 08/21 16:46
29F:推 bjk: 遇到很多博弈问大流量经验,但感觉面试官自己也不会 08/21 18:15
31F:→ ntpuisbest: 谢谢各位 08/22 00:54
32F:推 jej: 总共百万笔资料还是一天百万笔 08/22 13:51
33F:→ jej: 总共才百万 就硬体加强就好了 08/22 13:51
34F:→ jej: 一天百万笔就是加强硬体 分散式 查寻 修改分离等策略 08/22 13:51
37F:→ DrTech: 资料库才百万笔资料,不就是用最基本的 Index 就好。又是 08/23 13:06
38F:→ DrTech: 基本能力都没学,在好高骛远系列。 08/23 13:06
39F:→ ntpuisbest: 抱歉 会在加强基础能力qq 08/23 23:42