实现配置文件上载功能的以下通用逻辑是否可以在生产中进行扩展?
1. Inside a web app user selects an image to upload
2. Image gets sent to the server where it gets stored in memory and validated using nodejs package called: multer
3. If the image file is valid, a unique name is generated for the file
4. The image is resized to 150 x 150 using nodejs package called: sharp
5. Image is streamed to google cloud storage
6. Once image is saved a public URL of the image is saved under the user’s profile inside of the database
7. The image ULR is sent back to the client and the image gets displayed
用于实现上述内容的语言
这将使用以下方式实现:
我目前对此的担忧是:
答案 0 :(得分:2)
上传的2MB图片缩小为150x150分辨率。
假设您拥有 100,000 用户。每个用户都会上传一张缩小为 20kb 图片的图片。这是 1.907GB~2GB 的存储空间。
Google云端存储:
= $ 0.55 一年
Google Cloud功能:
对于100k用户而言,为简单起见,我们假设它将均匀分布,因此我们将每月 8334 用户上传他们的图片。让我们非常悲观,并说一个调整大小的函数需要 3s 。
= $ 16.24 一年
所以你很高兴。快乐的编码!
这个答案 最终会过时,所以我要包含谷歌价格计算器的截图: