寻求一下广大网友的援助吧,,贴出题目:
背景: 两台 linux 服务器 A 和 B,外网网络传输。 Linux 服务器 A 上,不定期会增加大容量数据,比如大量图片,视频和这些数据的数据库关联信息。服务器 A 上有 web 服务,用户会通过 A 服务器上的 web 服务,触发网页中的某个事件,将 A 服务中的这些新增图片和视频以及数据库信息,同步 /上传到 B 服务器中。 Linux 服务器 B,用于存储 A 中同步过来的数据和数据库信息。
限定:
提示: 是服务器间同步,而不是 web 端上传,数据已经在 A 服务器上了。所以考虑 web 超时的问题。
笔试要求:
我有俩问题:
1
hoyixi 2019-03-11 21:15:43 +08:00 1
你做完了,代码拿走了,然后 不理你了,咋办?:)
|
2
s609926202 OP @hoyixi 我觉得这个倒不是问题,关键在怎么实现
|
3
k8ser 2019-03-11 22:22:37 +08:00
估计是这个公司遇到了问题自己解决不了,顺便就当面试题了,什么面试这么详细?还要真实 PHP 代码?
|
4
s609926202 OP @k8ser 总共 5 个问题,前三个一环套一环。最后 2 个一个写 git 开发流程,一个画中等规模网站架构图。
|
5
zingl 2019-03-12 01:20:51 +08:00
网页一个按钮启动 php exec rsync 增量备份
next question |
6
hanbing135 2019-03-12 01:21:58 +08:00 via Android
感觉这是免费骗代码的吧
|
7
tyrealgray 2019-03-12 01:39:50 +08:00 via Android
这种规模的 homework 极其可能是骗方案的
|
8
xfspace 2019-03-12 02:02:05 +08:00 via Android 1
同步文件拿这个魔改就能用 https://github.com/outlandishideas/sync
用 PHP 同步数据库特么只能拿 binary logging 到 B call system 干吧 |
9
xfspace 2019-03-12 02:05:39 +08:00 via Android
这是舍不得买服务器
用虚拟主机当备份么 虚拟主机只有环境权限,没 shell 🌚 |
10
tomczhen 2019-03-12 03:15:34 +08:00 via Android
根据文件的数据库关联信息表主键作为同步标志,B 服务器需要记录所有 A 服务器的最后同步主键 ID 以及状态。
用户在 A 服务器触发任务后,先到 B 服务器获取最后同步的主键 ID,得到下一个同步文件信息。然后用文件信息调用 B 服务器接口,B 服务器根据调用信息下载 A 服务器文件,并记录同步状态,下载完成后,将文件信息写入数据库,更新最后同步主键 ID,接着回调 A 服务器。 A 服务器根据回调触发下一个同步,然后循环直到所有同步完成。 考虑到瓶颈应该是网络 IO,对于 A 服务器同步任务并发意义不大,B 服务器则可以根据需要控制并发任务。 |
11
tomczhen 2019-03-12 16:03:42 +08:00
题目二:
生成下载地址,celery 异步处理图片。打开下载地址,如果未处理完成则先显示处理状态,如果处理完成则跳转下载。 题目三: 上传时由前端生成缩略图一同上传。 |