作者drajan (EasoN)
看板Soft_Job
标题Re: [请益]高流量网站和资料结构
时间Sat Aug 21 15:14:13 2021
※ 引述《ntpuisbest (阿龙)》之铭言:
: 先自承是非本科的新人
: 最近看了版上的讨论串,觉得自己的确实是
: 没有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
这是常用场景,已知问题,所以有很多解决方案。
其中一种就是类似Twtiiter的Push架构,每次新增一个员工就把资料写进cache&DB
然後API打进来先去问cache要资料,然後cache多设几个组成一个cluster,
避免单点失效...这些知识都可以从下面推荐的网站中学到,不用做过也略知一二
: 还是说这可能跟资料结构比较无关,我要去补充其他知识才会知道
: 如果可以的话,希望前辈们可以分享哪些关键字或是网站有sample code可以查询
System Design Primer
https://github.com/donnemartin/system-design-primer
InfoQ
https://www.infoq.cn/topic/architecture
Grokking the System Design Interview
https://www.educative.io/courses/grokking-the-system-design-interview
HiredInTech
https://www.hiredintech.com/classrooms/system-design/lesson/52
System Design Interview
https://github.com/checkcheckzz/system-design-interview
Awesome Scalability
https://github.com/binhnguyennus/awesome-scalability
SYSTEM DESIGN INTERVIEW- AN INSIDER'S GUIDE
https://systeminterview.com/
另外我推荐分散式系统圣经 Design Data-Intesive Application
就这些内容,全看完不可能 但掌握几个大方向你的系统设计能力就不会差
--
学弟名言:
读书是三小 我只知道毒玉
延毕是三小 我只知道炎玉
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.57.146.63 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1629530059.A.B0A.html
※ 编辑: drajan (61.57.146.63 台湾), 08/21/2021 15:19:09
1F:推 kor525: 分享 推个 08/21 15:20
2F:推 kvjo: 来看看 08/21 16:42
3F:推 tttkkk: 推! 08/21 17:01
4F:推 WaterLengend: 谢谢分享 08/21 17:21
5F:推 BlacksPig: 感谢分享这些资源,thx! 08/21 17:41
6F:→ bjk: 111 08/21 18:16
7F:推 ntpuisbest: ty 08/21 19:22
8F:推 bjk: 11 08/21 19:28
9F:推 as209099: 推感谢 08/21 23:47
10F:推 ufap: 谢谢分享 08/22 01:21
11F:推 umum29: 推DDIA 每次重看都有不同收获 圣经啊 08/22 02:34
12F:推 k798976869: good 08/22 03:02
13F:推 k900421: 狂 08/22 06:18
14F:推 popmentos: 强 08/22 08:43
15F:推 garylai00000: 感谢分享资源 08/22 16:49
16F:推 Yunyung: 推 08/23 03:50
17F:推 devilkool: 推 08/23 08:57