先自承是非本科的新人
最近看了版上的讨论串,觉得自己的确实是
没有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可以查询