找找看(zzk.cnblogs.com)是我们的站内搜索产品,是一个磁盘IO密集型(读写索引文件)的应用,自从迁移至阿里云之后一直被云服务器的磁盘IO问题困扰,而阿里云没有提供替代解决方案。
由于这个问题,找找看竟然成为了我们全站响应速度最慢的应用。人是逼出来的,虽然阿里云在努力解决磁盘IO的问题,但我们再也无法忍心让用户忍受“找找看”糟糕的响应速度。于是,我们找到了一个折衷的解决方法——将找找看的索引服务迁移至Azure的虚拟机上。
今天完成了这个迁移工作。迁移后找找看的部署情况变为这样:zzk.cnblogs.com站点还是跑在阿里云云服务器上,而后台索引服务跑在Azure virtual machine上,用户搜索时zzk.cnblogs.com会远程调用Azure上的“找找看”索引服务,这样读写索引的磁盘IO操作全都放在了Azure上。从今天观察的情况看,找找看的响应速度明显改善。
写这篇博文不是为了抨击阿里云的磁盘IO,也不是为了赞美Azure。阿里云与Azure都是一种资源,每个资源都有它的限制性。我们分享的是如何以我们认为的最高性价比解决我们当前面临的问题。