zoukankan      html  css  js  c++  java
  • 摆脱技术思维,转向产品思维——寻找“万能”IDC的苦恼

    背景:近期在新产品的开发任务完毕后一直在为寻找好的IDC和优质的托管服务忙碌。需求源自于我们重点要解决之前老版产品面临的国内外用户訪问速度慢甚至连接不上的问题。

    除去架构技术上使用高性能、可扩展的方案,针对眼下的并发量和数据量而言仅仅要能保证网络质量的优质就能够达到较好的用户体验。


    首先我们的产品平台数据须要较强的一致性、高可用性。并且非常多是动态数据。

    依据CAP理论,我们首先否决了分布式部署的方案,一是自己和团队对分布式技术的拿捏还欠缺,二是从开发周期上来说不同意我们有太复杂的研究和设计。所以就将目标转向对有强一致性要求的数据和服务採用集中式部署的方案,于是面对国内网络的互联互通问题,甚至面对国际网络的互通问题我们就得依赖第三方服务——好的IDC和托管服务。在经历了传统解决方式中的多线机房。BGP机房(一直怀疑不是真正的BGP机房)的測试验证。也经历了某国内著名厂商的CDN加速技术的測试验证后,发现不怎么靠谱,连接速度慢和连接不上的问题就连我们自己小规模測试都会遇见。

    惆怅中细致研究了下各种托管服务的指标,听取了一些专业人士的回答建议,自己又动手计算预计了下网络质量,想了想公司对托管服务这块开支的容忍度(要知道BGP机房好贵的,CDN加速服务的价格更吓人,更可怕的是保障还没底)。

    先说下BGP机房,从接触到的BGP机房来看都是对国内线路的优化支持。即使我们能把服务部署到国与国的骨干节点上,我们国家的出口带宽还有可怕的大墙说不准也会影响到网络质量,再加上3万多公里的海底光缆传播(比方到美国),各个节点的转发,理想情况下怎么着延迟也得到几百毫秒吧。况且还不敢保证国外终端用户的网络质量和服务。难免又会出现国外用户连接速度慢或者连接不上的让用户恨、让领导气的糟糕情况。至于CDN加速服务。据他们的技术人员说对TCP这一层的加速得定制,所曾经期也不敢十分保障。

    在进一步惆怅之中我在想一个问题:难道我们不能把产品做成国内版和国际版,把这两部分数据和服务分开,就近部署server不就能够先解决问题嘛。我想大家见过不少类似的产品设计。比方evernote和印象笔记、网游的不同区服......。接着我赶紧向以前的产品人员了解了一下之前产品的使用背景,原来他们之前操心做成这样后会遇到这样的情况:比方一个美国人在在美国用国际版能够有非常好的体验,比方登录快,获取各种信息快(当然,server就在他们美国的优质机房里)。结果这美国人有一天来了中国,由于产品的登陆慢或者连接不上就会对我们的产品造成恶劣影响(事实上我想来中国的美国人都知道有VPN这个东西吧)。

    对这个产品理念我是不大能认同的。不能把产品设计成为一种能满足各种极端情况的完美产品,大家想想咱自己訪问国外server上的东西慢不慢就知道了,你能够理解这样的情况吗?后期假设这样的情况非常多非常多了,说明我们的用户量也上来了,也有钱了咱再想别的办法。

    另外,对于产品的设计来说我认为也值得分为国内版和国际版。我们如今的设计是全球人民都用相同的功能相同的client(当然不同语言),有句话是这样说的“产品没有国界,但用户却有国界”,如今我们的产品设计并没有对用户有一个具体的定位,往往是想到添加一个功能全部用户都得升级。国内用户还好说,还是和我们不同生活背景,文化背景的国外用户呢?

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

  • 相关阅读:
    【Maven】安装配置、目录结构、配置文件、常见命令
    【Maven】基础概念、仓库、构建与部属
    【float】与【position】汇总
    【CSS】定义元素的对齐方式
    【CSS】元素样式
    【CSS】绝对定位和相对定位
    网页常见布局
    php--常用的时间处理函数
    16位cpu下主引导扇区及用户程序的编写
    浅谈pageobject模式
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5144721.html
Copyright © 2011-2022 走看看