C# 体系结构:处理大规模照片上传和调整大小
我有一个系统,用户可以上传大约1600万像素的全分辨率图像,从而生成大文件 目前的方法是:C# 体系结构:处理大规模照片上传和调整大小,c#,image-processing,azure,file-upload,azure-storage-blobs,C#,Image Processing,Azure,File Upload,Azure Storage Blobs,我有一个系统,用户可以上传大约1600万像素的全分辨率图像,从而生成大文件 目前的方法是: 在HTTP请求中接收上载 在请求中,将原始文件写入blob存储 仍在要求范围内,以不同的分辨率制作约10份文件副本。(这些是不同尺寸的缩略图,有些是用于Hi-DPI(视网膜)设备的,还有一个用于全尺寸查看的尺寸。我还将图像转换为WebP 然后,我将所有结果传输到不同地区的blob商店,用于私有CDN目的 显然,问题在于,由于这一切都是在HTTP请求中完成的,因此它比任何其他典型的HTTP请求消耗的服务器资
我知道新方法遵循与使用外部重新调整大小服务相同的原则,但我不想在内部这样做,因为我担心一些第三方服务的隐私。这仍然意味着我必须调整客户端以处理丢失/未处理的图像。是的,您所描述的是一种更好的方法。它听起来更复杂,但这是大多数可扩展站点处理大负载的方式。将其卸载到队列中,让工作人员处理 我想在您的案例中添加第2步的更正:
一个单独的工作服务器监视队列,并在出现指示它这样做的消息时启动所有重新调整大小、处理和复制。是的,您所描述的是一种更好的方法。这听起来更复杂,但这是大多数可伸缩站点处理大负载的方式。将其卸载到队列中,让工作服务器处理 我想在您的案例中添加第2步的更正:
一个单独的工作服务器监视队列,并在出现指示它这样做的消息时启动所有重新调整大小、处理和复制。是的,您所描述的是一种更好的方法。这听起来更复杂,但这是大多数可伸缩站点处理大负载的方式。将其卸载到队列中,让工作服务器处理 我想在您的案例中添加第2步的更正:
一个单独的工作服务器监视队列,并在出现指示它这样做的消息时启动所有重新调整大小、处理和复制。是的,您所描述的是一种更好的方法。这听起来更复杂,但这是大多数可伸缩站点处理大负载的方式。将其卸载到队列中,让工作服务器处理 我想在您的案例中添加第2步的更正:
一个单独的工作服务器监视队列,并在出现一条消息指示它这样做时启动所有重新调整大小、处理和复制。另一个选项是使用新的Web作业功能。事实上,您的场景似乎非常常见(在图像处理方面),因此它被列为一个重要的场景 图像处理或其他CPU密集型工作。web的一个常见功能 网站是一种上传图像或视频的能力。通常你想 在上传内容后对其进行操作,但您不希望 用户等待您执行此操作
是否更好,我将由您决定。另一个选择是使用新的Web Jobs功能。事实上,您的场景似乎非常常见(在图像处理方面),因此它被列为最常见的场景之一 图像处理或其他CPU密集型工作。web的一个常见功能 网站是一种上传图像或视频的能力。通常你想 在上传内容后对其进行操作,但您不希望 用户等待您执行此操作
是否更好,我将由您决定。另一个选择是使用新的Web Jobs功能。事实上,您的场景似乎非常常见(在图像处理方面),因此它被列为最常见的场景之一 图像处理或其他CPU密集型工作。web的一个常见功能 网站是一种上传图像或视频的能力。通常你想 在上传内容后对其进行操作,但您不希望 用户等待您执行此操作
是否更好,我将由您决定。另一个选择是使用新的Web Jobs功能。事实上,您的场景似乎非常常见(在图像处理方面),因此它被列为最常见的场景之一 图像处理或其他CPU密集型工作。web的一个常见功能 网站是一种上传图像或视频的能力。通常你想 在上传内容后对其进行操作,但您不希望 用户等待您执行此操作
无论是好是坏,我将由您来决定。Web作业对于Azure网站来说是一个令人兴奋的新开发。它们仍然处于alpha预览中,并且不与Web角色一起工作-这就是我正在使用的。希望他们能够开发该工具,因为它确实提供了一种更快、更方便的方式来添加此类处理实用程序,但与其他人合作方便带来了一些很大的限制。网络工作对我们来说是一个令人兴奋的新发展