摆脱技术思惟,转向产品思惟——寻找“万能”IDC的苦恼

背景:最近在新产品的开发任务完成后一直在为寻找好的IDC和优质的托管服务忙碌。需求源自于咱们重点要解决以前老版产品面临的国内外用户访问速度慢甚至链接不上的问题。除去架构技术上使用高性能、可扩展的方案,针对目前的并发量和数据量而言只要能保证网络质量的优质就能够达到较好的用户体验。服务器


      首先咱们的产品平台数据须要较强的一致性、高可用性,并且不少是动态数据。根据CAP理论,咱们首先否决了分布式部署的方案,一是本身和团队对分布式技术的拿捏还欠缺,二是从开发周期上来讲不容许咱们有太复杂的研究和设计。因此就将目标转向对有强一致性要求的数据和服务采用集中式部署的方案,因而面对国内网络的互联互通问题,甚至面对国际网络的互通问题咱们就得依赖第三方服务——好的IDC和托管服务。在经历了传统解决方案中的多线机房,BGP机房(一直怀疑不是真正的BGP机房)的测试验证,也经历了某国内著名厂商的CDN加速技术的测试验证后,一是昂贵,二是他们的技术针对TCP这层还不成熟,因此暂且放弃。网络

      惆怅中仔细研究了下各类托管服务的指标,听取了一些专业人士的回答建议,本身又动手计算估计了下网络质量,想了想公司对托管服务这块开支的容忍度(要知道BGP机房好贵的,CDN加速服务的价格更吓人)。先说下BGP机房,从接触到的BGP机房来看都是对国内线路的优化支持,即便咱们能把服务部署到国与国的骨干节点上,咱们国家的出口带宽还有可怕的大墙说不许也会影响到网络质量,再加上3万多千米的海底光缆传播(好比到美国),各个节点的转发,理想状况下怎么着延迟也获得几百毫秒吧,何况还不敢保证国外终端用户的网络质量和服务,不免又会出现国外用户链接速度慢或者链接不上的让用户恨、让领导气的糟糕状况。至于CDN加速服务,据他们的技术人员说对TCP这一层的加速得定制,因此前期也不敢十分保障。架构

      在进一步惆怅之中我在想一个问题:难道咱们不能把产品作成国内版和国际版,把这两部分数据和服务分开,就近部署服务器不就能够先解决这个问题嘛。我想你们见过很多相似的产品设计,好比evernote和印象笔记、网游的不一样区服......。接着我赶忙向曾经的产品人员了解了一下以前产品的使用背景,原来他们以前担忧作成这样后会遇到这样的状况:好比一个美国人在在美国用国际版可以有很好的体验,好比登陆快,获取各类信息快(固然,服务器就在他们美国的优质机房里);结果这美国人有一天来了中国,由于产品的登录慢或者链接不上就会对咱们的产品形成恶劣影响(其实我想来中国的美国人都知道有×××这个东西吧)。对这个产品理念我是不大能认同的,不能把产品设计成为一种能知足各类极端状况的完美产品,你们想一想咱本身访问国外服务器上的东西慢不慢就知道了,你能够理解这种状况吗?后期若是这种状况不少不少了,说明咱们的用户量也上来了,也有钱了咱再想别的办法。另外,对于产品的设计来讲我以为也值得分为国内版和国际版,咱们如今的设计是全球人民都用一样的功能一样的客户端(固然不一样语言),有句话是这样说的“产品没有国界,但用户却有国界”,如今咱们的产品设计并无对用户有一个详细的定位,每每是想到增长一个功能全部用户都得升级,国内用户还好说,仍是和咱们不一样生活背景,文化背景的国外用户呢?并发

后话:如今咱们还在进行着“万能”托管服务的测试,我也已经把个人想法转达给了相关人员,获得了部分的确定可是也有部分不认同,总之我认为在开发中若是能靠产品设计和业务调整避免一些复杂的技术状况是值得的分布式

相关文章
相关标签/搜索