我现在正在考虑将消息队列用于“视频”项目。
成像视频服务,用户上传视频然后截图,短视频缩略图和不同的视频大小由脚本制作(现在如何并不重要)。无论如何,要考虑的更重要的是前端(网络上传服务器)和后端服务器(视频处理服务器)之间的通信。
所以过程可能是:
- 用户来到网站
- 用户上传新视频
- 上传脚本将新消息添加到消息队列(嘿,有新视频,处理它)
- 在这种状态下,用户可以在“已上传”状态的视频列表中看到视频
这是我实际上不知道该怎么做的部分。
- 消费者从消息队列中获取消息并开始处理它。
- 消费者检测到它是视频 - 如果现在它会失败
- 消费者制作截图(需要很长时间),消费者会通知网络截图已经制作(???如何??? - 我应该将新消息放入消息队列吗?)
- 消费者调整视频大小(需要很长时间) - 同样的问题 - 消费者应如何通知网站,视频调整大小已完成?
所以,问题是如何处理来自后端服务器的消息。我猜消费者会将另一条消息放入某个日志队列,其他网络消费者将处理它们并更新数据库。这样对吗?