采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我想大概了解下云盘这个业务场景下会用到锁吗?一般会是哪些场景。比如:
我想了解下,在企业级应用这块对于保持文件的一致性又没什么需要注意的。
同学你好,加锁的情况一般会涉及到资源竞争的场景.在云盘场景里,必要用到锁的情况应该不多,因为很多时候用户的资源都是隔离存储的.在同一个用户的多终端发起的请求间,可能会用到锁,比如用户A的终端a正在请求修改一些文件资源,终端b同时请求删除这些资源.
1)对于1,一般情况下是,先把文件上传完成,再写mysql文件记录.
如果多个用户上传同一个文件,mysql中文件表(tbl_file)会先写入先上传完成的文件的记录;
这个阶段去获取文件的话,只有那些已经完成了写用户文件表(tbl_user_file)的用户才能够进行下载的,
下载的文件就是第一个完成上传的用户的文件.一般情况下不用加锁.
2)一个文件被高并发读取,其他文件低频访问的话,可能会造成系统负载的不均衡;
一般来说可以通过缓存加速来减缓这种问题,比如经常访问的文件会被缓存到多个下载节点中,这样可以分散下载流量;这个也是CDN的工作原理之一哦.
多谢老师的解答,希望老师可以多多讲解实际应用中的一些经验。
多谢建议哈,在把基础功能都基本实现后,我会持续将这些内容都整理出来.在后续的课程中也尽量加多一些实际应用经验的讲解!
登录后可查看更多问答,登录/注册
紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员
1.3k 23
2.1k 13
1.6k 13
1.1k 13
1.2k 13