【发布时间】:2018-02-27 09:38:39
【问题描述】:
我正在开发一个应用程序,该应用程序旨在站在 YouTube API 之上并将用户上传的内容传递到 YouTube.Videos.Insert 端点(使用他们提供的 .NET 客户端库)。现在,我的应用程序构建为一个简单的 ASP.NET MVC 应用程序,但我很快意识到这可能不是最好的方法,因为问题很快就出现了,上传过程可能是一个相当长的运行过程。
为了有效地做到这一点,最佳实践架构是什么?到目前为止,我的想法是:
- 某种队列策略,MVC 应用程序将上传内容放在队列中,后台进程将其弹出并执行进一步上传到 YouTube。不过,这似乎效率低下,因为它增加了临时存储文件并再次检索文件以进行处理,从而增加了应用程序的整体开销。
- 一个单独的微服务 API,带有一个用于接收实际上传的端点,我会从我的应用程序的前端通过 Javascript 联系它;它将接收文件,返回 202 Accepted,然后将上传流传递到异步线程并立即处理它。这似乎更有效,但如果我以外的任何人最终使用这个东西,我担心可扩展性。
我希望获得有关解决此问题的最佳方法的更多架构见解。
【问题讨论】:
-
所以如果我理解正确的话,你的用户会先上传到你的应用,然后你的应用再上传到Youtube api?
-
是的——我们的想法是为他们提供一个界面来保存他们经常包含在多个视频中的信息,这样他们就不必在每次上传时都输入这些信息。
标签: c# asp.net asp.net-mvc youtube architecture