azure - 在 Asp.net Core 中将图像保存到文件系统
问题描述
我正在构建一个使用 ASP.NET 的 C# Web API 保存大量图像的应用程序。
最好的方法似乎是将图像保存在文件系统中并将它们的路径保存到数据库中。
但是,我担心负载平衡。由于每台服务器都会将图像放在自己的文件系统中,同一负载均衡器后面的另一台服务器如何检索图像?
解决方案
如果你有资源,我会说:
最好的方法是将它们保存在文件系统中,并将图像路径保存到数据库中
根本不是真的。
相反,如果您愿意为服务付费,那么使用现有的文件服务器系统可能会产生最好的结果。
对于 dotnet,“转到”将是 Azure Blob 存储,它是图像等非流式数据的理想选择。
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-dotnet
否则,您可以尝试从头开始创建自己的文件存储服务。在这种情况下,除了处理实际应用程序的主集群之外,您将有效地创建一个单独的服务 API,这个辅助 API 只处理文件存储并在其自己的专用服务器上运行。
然后,您只需在文件服务器上的 Id <-> 文件数据之间创建一个关联,您的应用服务器就可以通过这些 Id 请求文件并将文件推送到文件服务器。
它是可能的,但文件服务器肯定是那些一开始看起来很简单但很快你就会意识到这是一项非常非常困难的任务的项目类型之一,并且为现有服务付费可能更容易。
那里可能还有现有的自托管文件服务器选项!
推荐阅读
- python - 如何在 pandas DataFrame 中生成第二天的价格?
- regex - 匹配一组破折号之前的所有内容
- algorithm - 范围内的美丽数字
- java - 当值不为空时更新列 JOOQ
- angular - 将值传递给组件以切换 *ngIf
- php - 如何重新创建套接字文件?
- powershell - 在 PowerShell 中使用 YQ 时出现引用问题
- python - 如何使 pandas 的 read_excel 参数“nrows”动态化
- javascript - MongoError: Topology is closed, please connect - 使用 Jest 运行单元测试时
- python - 当源代码没有改变,但是 selenium webdriver deos 没有返回元素时