云计算之路:云存储的纠结
云计算之路系列博文分享的是我们将网站从IDC机房迁移至云计算平台的实际经历,目前处于准备阶段,这次分享的是使用云存储遇到的纠结。
这里的“云存储”是指在云服务商的平台上存储文件与图片,这篇博文涉及两家云服务商——又拍云与阿里云(阿里云的对应产品是开放存储服务 OSS)。
这次纠结的根源是Windows世界与Linux世界不同的世界观,Windows默认不区分大小写,Linux默认区分大小写。
我们将现有图片上传至云存储服务商的存储空间之后,发现有些图片不能访问,后来发现是图片URL大小写的原因,比如图片的存储路径是/images/logo_small.gif,而引用图片的URL是http://static.cnblogs.com/IMAGES/logo_small.gif。之前我们用的是Windows平台的IIS,URL不区分大小写,所以不会出现这个问题。现在云存储服务商用的是Linux平台上的Web服务器,比如Nginx,默认是区分大小写的。两家云存储服务商都确认了这个问题的存在。
我们分别咨询了两家云存储服务商,给出的解决方法都是让我们更改图片引用的URL,与实际存储路径的大小写保持一致。我们本来希望他们能调整一下Web服务器的设置,以支持不区分URL大小写(技术实现上难度不大),但是都不愿意,可能有我们想不到的麻烦。于是,我们考虑采用他们的解决方法,但是实现起来很麻烦。比如,我们有100万张图片,分布在100万篇文章中,我们要遍历所有的文章内容,找出所有站内引用的图片,找出这些图片的URL;然后一个一个URL地与存储路径进行比较,如果大小写不匹配,修改URL以与存储路径保持一致。修改后,再重新将这些图片上传至云存储服务商的空间。
看起来,他们的解决方法是合理的,但是让每一位之前使用Windows平台的用户迁移至云存储之后,都要进行这样的操作,将迁移成本抛给用户,至少不是一个替用户着想的解决方法。而且要求引用图片时,严格区分大小写,也有些苛刻。作为云服务商,用户的迁移成本应该是重点要考虑的问题。之前,我们使用CDN加速时,CDN服务器用的也是Linux服务器,却不存在这个问题。
也许让URL明确区分大小写有一千个合理的理由,但是让用户仅仅为了适应一个平台而作出如此大的更改,会让用户望而却步。用户可以接受新存储的图片遵循平台的规则,但很难接受更改已有的图片。不管是软件时代,还是互联网时代,兼容性是必然要考虑的一个问题!
今天的分享就写到这,我们的分享仅仅是通过我们的实际经历,让大家从一个侧面了解当前云计算的现状。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· autohue.js:让你的图片和背景融为一体,绝了!
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
2010-02-26 博客园图灵杯第4届博问大赛(2010.2.27~2010.3.27)