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

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


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

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

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

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

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

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

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

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

摆脱技术思维,转向产品思维——寻找“万能”IDC的苦恼的更多相关文章

  1. 产品思维&技术思维&工程思维

    产品思维 产品思维的起源是用户(或客户)价值.用户价值是通过技术手段以产品或服务的形态去解决用户的痛点,或带去爽点.毫无疑问,工程师在日常工作中应时刻关注并理清自己的工作与用户(或客户)价值的联系,并 ...

  2. 【用户分析-用户场景】这TM才是产品思维!

    @奶牛Denny :很长一段时间里,市场推广/营销(Marketing)在中国似乎是一个大家很忌讳的词汇.市场推广无非就是夸大包装,炒作一下,卖卖情怀——很多人都是这么觉得的,因为确实有一部分急功近利 ...

  3. 1.用互联网的产品思维打造一本app后端的书

    刚刚接触app后端,是做完adidas中国的官方商城的时候,那时不清楚app后端应该怎么架构,只能摸着石头过河,网络上只有一些零散的资料,遇到问题,只能不断地搜索,思考,务必找到解决问题的方法. 在从 ...

  4. 做IT项目管理也需要具备产品思维

    不知道大家有没有听过大胡子姜志辉老师的公开课,我自己认为讲的还是不错的. 因为本身大胡子老师就是一个IT行业的人士,自己还经历了程序员.架构师.项目经理.敏捷教练.产品经理.公司持有人等多个角色.所以 ...

  5. [转]一文读懂《梁宁·产品思维30讲》最精华内容(含全套PPT)

    http://chuansong.me/n/2294260949029 8 年前,我的主业是产品经理,产品思维改变了我认识世界的方式,让我明白司空见惯的设计,也有其底层逻辑. 几年后我接触培训.运营自 ...

  6. 技术思维VS管理思维

    以下为技术思维与管理思维的不同 在日常的工作中,会出现身兼两职 开发和项目经理 的情况,在此就要学会游刃有余的切换角色,方能一人分身二角 角色转换本质上是思维转换.思维决定一个人的行为,项目经理不像项 ...

  7. 《梁宁·产品思维30讲》课程学习笔记(内含全套音频+ppt资料

    科技进步.产品迭代.公司演化.组织变迁……不变的是用户的情绪和人性. 那些信奉“用户驱动”的人,从普通人变成了行业大佬,建立了自己的世界.乔布斯.马化腾.马云.雷军.张小龙.周鸿祎.傅盛……这些改变世 ...

  8. 做一个有产品思维的研发:Scrapy安装

    每天10分钟,解决一个研发问题. 如果你想了解我在做什么,请看<做一个有产品思维的研发:课程大纲>传送门:https://www.cnblogs.com/hunttown/p/104909 ...

  9. 做一个有产品思维的研发:部署(Tomcat配置,Nginx配置,JDK配置)

    每天10分钟,解决一个研发问题. 如果你想了解我在做什么,请看<做一个有产品思维的研发:课程大纲>传送门:https://www.cnblogs.com/hunttown/p/104909 ...

随机推荐

  1. 【BZOJ 1047】[HAOI2007]理想的正方形

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 二维的ST表. 每个大的正方形可以由4个小的正方形组成. 然后区域内的最大值最小值.也可以由4个小的张方形部分全部覆盖到. [代码] ...

  2. 网络载入数据和解析JSON格式数据案例之空气质量监測应用

    一.创建一个新的项目 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res ...

  3. LeetCode -- 最大连续乘积子序列

    问题描写叙述: 给定数组,找出连续乘积最大值的子序列.比如 0,-1,-3.-2.则最大连续乘积为6= (-3) * (-2) 实现思路此题与最大连续和的子序列问题相似,也可通过找到递推公式然后用DP ...

  4. CSS3 实现RSS图标

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS3 实现RSS图标&l ...

  5. url与图片

    http://restapi.amap.com/v3/staticmap?location=116.481485,39.990464&zoom=10&size=750*300& ...

  6. thinkphp里面的or查询

    thinkphp里面的or查询 whereOr 方法 使用whereOr 方法进行OR 查询: Db::table('think_user') ->where('name','like','%t ...

  7. C#泛型链表Demo

    /// <summary> /// 节点 /// </summary> /// <typeparam name="T"></typepar ...

  8. 深入Vue的响应式原理

    工作的过程中,有时候会有数据改变但是视图没有更新的问题,作者在vue的官方文档中有提到这个问题,我来总结一下 1.vue的每个组件实例都有对象的watcher实例对象,它会在组件渲染的过程中把属性记录 ...

  9. BZOJ 2553 AC自动机+矩阵快速幂 (神题)

    思路: 我们先对所有读进来的T建一个AC自动机 因为走到一个禁忌串就需要回到根 所以呢 搞出来所有的结束点 或一下 fail指针指向的那个点 然后我们就想转移 a[i][j]表示从i节点转移到j节点的 ...

  10. 实时监控Cat之旅~分布式消息树的实现原理与测试

    大众点评的老吴在InfoQ上讲了Cat之后,有不少同仁开始关注这个实时监控系统,但学习的文章甚少,在GitHub上也是一言代过,给我们这些开发人员留下了N多个疑问,一时间不知道去哪里问,向谁去问了,通 ...