我们有很多系统都是向全球的用户提供服务的,但出于成本和维护升级等方便性的考虑,在部署时是中央部署,也就是没有分别在不同的区域部署我们的服务。这样就有一个很现实的问题,各地区的网络环境不一样,特别是各大区域之间网络的质量(带宽和稳定性)有很大差异,我们应该很有体验的,不是下载MyEclipse 都要翻墙吗。这样,就很难保证能向所有的用户提供同样高品质的服务。于是,我们想到了一个其实是上策的解决方案,那便是利用第三方提供的服务,加速我们的网页,并且提高稳定性。原理非常简单,就是利用缓存。这个厂商提供了一个很稳定的基础平台,即可以保证所有地区的用户都可以访问到。然后将我们的应用(页面)缓存起来。
这时便引出了上面这个题目,我们很多应用都只是在入口的地方选择区域和语言,之后都是将这些信息作为用户的状态(上下文)保存在Session 中,这种实现方式要利用上面的缓存机制就比较困难,你想到了方案,可是人家不支持,奈何?
上次我跟一个做搜索引擎的人谈起了为什么几乎所有的搜索引擎都是通过get 的方式来传查询参数,而不是使用Post. 听起来好像很高深的一个问题,可惜答案很简单,可能会让你失望,
1,使用get 可以比较方便做查询结果的缓存
2,使用get 可以比较方便的与其他人分享查询结果
3,很方便的将搜索引擎作为一种服务跟其他系统集成
如此而已。
还是那句话,架构,虽然简单(这样说是想给你信心),但你不能无视它。