技术开发 频道

走出困境:中国网络架构疑难杂症解析

  【IT168专稿】中国有世界上人数最为众多的互联网用户,但是中国的互联网基础设施却有着少有的复杂性,这让众多网站、游戏难以提供世界级的高性能表现和一流的终端用户体验。对于当今的移动应用、广告和电子商务系统来说,这一点尤其重要,因为终端用户的访问速度直接关系着这些互联网服务的成功和利润。同时,要想建立足够安全的安全系统防火墙,确保每个环节的安全,同时搭建有足够灵活性和扩展性的服务架构,必须对中国的互联网基础设施有清晰深入的了解和认识。


全球系统架构师大会现场报道

  面对这些挑战,ChinaNetCloud Founder & CTO Steve Mushero讨论了中国互联网的结构、面临的问题和解决方案,具体包括:各个地区内部和地区之间的连接情况、不同网络之间的连接状况、移动网络现状,同时还会介绍游戏、电商、广告等不同特定行业面临的特定网络链接问题,单地点和多地点网络部署,单线和多线接入,静态内容的处理,CDN网络的使用,如何利用国外站点的服务等。

走出困境:中国网络架构疑难杂症解析
▲ChinaNetCloud Founder & CTO Steve Mushero

  以下是精彩的演讲内容:

  大家上午好!我是Steve Mushero,接下来讲一讲互联网出现问题的应对以及一些有意思的事情,互联网的结构以及与客户打交道遇到的问题,现在的工作和以前的工作,战略战术实践以及怎么更好的解决问题和吸取的教训。

  我在上海管理ChinaNetCloud,在中国已经待了七年了,我原来在硅谷,在系统基础架构设施开发等方面有很多经验。当年我和各位一样负责建造开发系统。整个中国互联网的架构,ChinaNetCloud 2008年由硅谷的技术人员在上海成立,我们管理中国互联网及游戏的服务系统,有性能数据库、系统数据库、服务器数据库,有上千个服务器、上百个客户,说实话林子大了什么鸟都见过。包括服务器系统、电商、体育系统、金融系统、IPTV,看到所有的这些相关的问题。

  中国是世界上最大的互联网群体,但是问题很多

  我以前在土豆网做过CTO,对中国的互联网提供一些游戏、视频以及基础架构有非常丰富的经验。中国是世界上最大的互联网群体。虽然说量很大,用户数量是美国的四倍,但是问题会多很多。尤其在提供高交付性的用户体验非常困难。比如说电子商务、网上交易以及在游戏方面。为什么会出现这些问题呢?有非常先进的ipad、手机应用,需要不同的基础架构。有些好,有些做的差一些。在中国这方面的运作比较困难一点,最重要的是提供性能、服务,是我们利润所在。在美国也是一样,如果更快的下载,网络上传速度越快,赚的更多,这一块中国做得不怎样,极待提高。

  中国互联网群体超过5亿的用户,每年增加一到两千万,可以说互联网遍布世界各地。但是看用户分布在哪里,有年轻人有老人,中国互联网发展很先进的,在家1-2兆,在办公室5-10兆,在美国带宽都比不上中国。从基础设施讲,有区域问题、网络堵塞问题,带来很多的麻烦。

  ChinaNetCloud为什么在中国的发展不顺利?请看中国的网络分割

  在中国分成不同区,有中国电信、中国网通,北方主要是网通,辽宁省、河南省、山东省网通为主,南方用中国电信,21个省市自治区,像浙江、广东等。这个问题是分离的问题。另外,中国移动的GPS,中国联通iphone和赛尔网络等。很多客户不理解为什么中国的网络格局如此分裂,进入中国市场就是一个问题。如果西部的话,成都、新疆甚至用不同的IP。去年移动买了铁通、电信买了CDMA业务,外国的公司越来越搞不清楚互联网的格局了。

  各自为政导致了网络连接非常差

  很多人在网上看视频,喜欢用BT下载、迅雷下载,占用很多带宽,对我们游戏来讲,复杂度太高了。在中国不同的区域之内,甚至在区域之间。像深圳、广州、东莞,不同的区域之间的联系成了大问题。每一个ISP是区域性的,比如说中国电信分布每个省市自治区的子公司,但是这些没有交集。因此向全国性的服务太困难了,要买数据中心、买带宽。

  买宽带要看地域

  到中国电信买没问题,但是要知道从哪个中国电信买的。在某个地方可能很便宜,在西安很便宜,可能在长沙就很贵。在昆明买的话,服务能不能用到长沙、北京呢?所以要了解哪个ISP买,到底能不能联系。

  瓶颈是区域之内、区域之间南方和北方有连接的问题。在广东深圳有一些服务器,但是提供到北京很难了,但是南方提供到北京天津,必须有好的策略。很多公司不管这个。在深圳广东有一些服务器,这里的带宽便宜,提供这里的客户就行了。但是有野心、有抱负,在全国范围内开展用户,来自于厦门、福州、北京、上海、天津的用户有效的使用这个服务器才行。

  移动互联网带来的问题

  原来GPRS玩简单的游戏没问题,现在iphone来了,iphone是联通和移动的连接就有些问题了。或者说可以用wifi,移动互联网上发现移动网络公司不想买带宽,如果是联通的话,找一个运营商买带宽才行。现在不想买。当然有些情况出现改变,有些用移动IDC,但是提供服务太糟了,所以有一些瓶颈需要克服。一些问题解决不会带来太多的钱,就不管的。

  很多系统使用代理、赛尔网,服务器在北京很偏的地方,放一个服务器,每个月付很少的钱就行了,才不管这些东西。在很多地方都有BGP,在中国不是很常见。五年前BGP几乎不可用,但是现在的BGP,中国五个地方在用了,但是才五个地方。相对价格会高一点,所以很多人不愿意用。可能会用多重线路。在天津可以用,网通用电信或者中国移动几条线共用。BGP现在还是慢慢受人的青睐。但是有很多客户不太清楚BGP,只会找中国电信,会带来一些问题。

  从全球的角度讲,和世界各地进行互联的角度讲,中国这方面的连接做的非常差。有很强的联系。另外,光线通道非常繁忙,很多东西根本传不过来。有些时候上美国的网站行,后来突然发现未来的一小时,甚至一天、一个礼拜、一个月服务器用不了,如何上美国的网站。可能会有一些例外的情况,但是真的使用海外的服务器,确实非常麻烦,必须要找到海外相对比较好的供应商才行。

  有很多客户、电商,要求越来越高,学生非常时尚、消费,但是很难接触,学生使用的赛尔网,比如说网游肯定不可能和赛尔网连接在一起。像一些大的品牌,比如诺基亚,可以通过手机信息传输给学生。

  移动也是很大的问题,大家都跟移动有关。有三大运营商,中国电信、移动、联通。都是分开来的,有些用智能手机,但是用一类,另一类的客户只做奢侈品,只用iphone,别的看都不看,是另外一群人,分割是一个问题,把服务放在移动IDC上是可以。但是今天只针对移动的话,60%都用wifi,离开了这个房间就没有wifi了,必须用中国电信、中国移动了。所以三通必须配才可以,我觉得三通非常常见的。包括北京上海越来越多。这个行业来自不同的行业有自己的挑战,包括电子商务如何响应时间、可靠性、速度,快速得到服务很重要。稍候会讲到广告,广告关系到表现。

  游戏有不同的响应时间,有一个多用户的分区,以及有大数据的下载。BGP已经谈到了,如果能够付得起钱就用。如果买BGP必须要理解买的是什么,不是所有的BGP都一样,有两线、三线、八线BGP,八线BGP非常少。必须要知道买的是什么,而且非常贵,中国的价差最便宜到最贵可能相差十倍。两通到八通,在哪里买。在北京买八通要贵十倍,必须要考虑花得起多高的价钱。

  带宽是你最重要的考虑。买BGP的话,不一定往往是有效的,有的时候看到带宽的限制,买了100G后来发现不是100G,5G和10G,有些有想不到惊吓。数据中心每天都有问题。部署架构的时候,每天会碰到新的问题。在哪里选择数据中心,这些很重要。包括移动资金都很重要。而且带宽变化很多的。很多时候有些带宽很好,但是表现非常差。

  顾客有一半在数据中心受到攻击

  选择什么样的数据中心呢?是不是信任他们管理的服务呢?服务也是大的问题,扩展也是大的问题,比如说有十个服务器,两个服务器。本来有两个服务器,突然之间一下子全部堵住了,再打电话加服务器,没了。必须要考虑一下,一旦火了怎么扩展,会带来架构的问题。再找一个数据中心,两三天内增加数据中心非常复杂的。这是数据中心的问题。服务也是很大的麻烦。

  这么多的问题该怎么解决?

  我从运营的角度谈一下,而不是从互联网的架构角度。我们觉得这个建议很简单的,但是我们的顾客往往不太理解该怎么做。当一个新的顾客第一问题就是问,你在什么地方?用户在哪里?电子商务游戏的站点,可能突然发现用的移动中心根本就不搭的,所以地点非常重要,选了一个地点要搬就不容易了,看单点还是多点。作为一个架构师两三个点,但是公司要去做两三个数据中心的布点,在中国是非常不容易的。

  当然,我知道有些游戏可能有不同的分区,有不同的故障恢复的站点。刚才讲到一定要挑好的地点,尽量保持简单。选一个地点一定要发展之后占点多了在有新的站点。我们的选择是花得起钱的最好的站点。不一定找一个三级城市挑一个三级的IDC。我看很多人找不到地方,是哪个叔叔舅舅认识什么人,找一个三级的数据中心。

  有多少钱都要避免三级城市

  避免三级的IDC,现在考虑到怎么样应对移动的应用,考虑到怎么样扩展,而且我们要考虑到云。云往往有一些新的因素。在中国对于云来说比较早的,云的选择要考虑,目前来说不太现实。

  选择IDC的地点之后,看买什么,买能花得起钱的。不光是带宽,还要考虑连接性。认真对待业务要看数据中心会不会受到攻击,数据中心有没有保护,如果公司火了之后,很多人会帮助你,有没有提醒防护。所以,一定要考虑在哪里花钱。同时,要获得好的服务,很多IDC的服务真的不怎样。很多数据公司不接受你的到访,要体现预约。要去数据中心的话,要提前预约,打电话就可以来。突然跟北方连接不上了,打电话打不通,帮不上忙。

  连接性和带宽要买最好的

  还是那句话,只要花得起钱,就买最好的。要保持简单,但是要买你能够花得起钱最好的。在你的资金范围内,买最好的数据中心、最好的硬件、最好的带宽。可能是几千块一个月,要考虑钱花在什么地方,要考虑对用户的地点。单线、多线,有移动要考虑wifi。从绩效来说,很多用户说基本工夫没做到位。比如说网上的架构、网上的编码。但是很多顾客很基本的主页就有20兆,主页上的照片太大了。所以你觉得要做到完美,但实际上并不完美,所以一定要考虑到,有快速的表现。所以一定要以终端用户为中心,考虑怎么样让它满意。要考虑怎么样小心化、快速化,用什么样的图形。

  有些东西做得很漂亮,但是太漂亮做得太大了。而且应该遵循一下非常好的实践,进行测试。有很多网站、书籍帮助你进行这样的测试,很多人忘了做测试,可以很清晰通过测试得到报告,有什么样的问题。这种测试服务是很有用的,会带来终端用户体验巨大的差别。

  有可能的话用AJAX

  很多人可能在用AJAX,每页是动态的渲染,每天阅读几百个页面,是动态的,有大量的服务器,用AJAX系统,这种系统可以做出很大的转变了。首先把这个网页搞好之后,AJAX是真正帮助你的第二步,可以帮助你更好的上传。在中国很有用的,真正帮助提升用户体验。如果不能用AJAX,还是要考虑一下怎么用缓存。尽量一个页面是电商的页面,可能五分钟、十五分钟,一个小时才能够渲染出来的画面。高速缓存确实真正能够提高表现。如果很大流量,上网买东西的话,速度一定要快。所以AJAX的缓存是很有用的,而且要考虑其他的对象。

  最新的趋势是有更多的Push和Async

  我们是推送给顾客的方法,特别是一些动态的游戏,顾客可以下载一些静态的数据,可以把动态的数据推送给他们,这个体验是很好的,我们静态的数据都已经缓存下来很固定了,推送给用户的体验是非常流畅非常好的。听起来很简单,架构、编码、资料库都有很大的工夫要做,但是最终的效果是很好的。比如说页面是静态页面,动态推送给客户。但是需要时间理解掌握。每个用户PCB连接到你的网站。

  在香港有300万个同步用户,应该来说不是很多,但是同时300万都连上网站没有多少人做到了,实际上要考虑你的拓展性。所以这个系统要考虑到扩展,每个服务器接待多少用户。可以做到的话,可以得到非常令人惊讶的效果和满意的用户体验。这是最终极追求,进行高响应的界面。刚刚进入中国,没有多少人用,但是非常期待的。

  我们讲了非常好的实践,可以找一些基本的问题,很多都可以做。我们看太遗憾了,网页非常慢,自己应该做检查,不通过检查CDI做得再好都不能解决主页只有5兆的事实。

  在中国CDN很有用的,可以带来两大好处:

  第一,提升用户的体验,因为有一个缓存。第二,静态用户、终端用户体验快速流畅,而且可以降低带的价格,如果带宽的价格降下来,就可以买一些高质量的带宽了。

  比如说钱不是很多,把钱有效的拿出来,到八通的BGP,是中国最好的,大概1兆800块钱,可以把其他部分降下来,用到BGP上面,性能非常高,花的总钱数没有多多少。花了更多钱在视频和图片上,不可能花钱来应对带宽的要求。所以要看到全局里面看怎么区分我们带宽。一方视频可以多一点,简单图片少一点,分配使用成本。

  稍候我会讲到云端计算,讲云也用了CDN,很多人没有意识到云计算的时候,用CDN。监控也非常的重要,重要性不言而喻,因为在运营过程中我们会监控。我们要监控200到300个服务器,要有安全的情况。另外,非常重要的一点,有钱要监控服务器之外的情况,中国最好多游戏网站、最好的电商,看看做得怎么样。比如说我在深圳有服务器,在成都做得怎么样?昆明做得怎么样?武汉做得怎么样?可以跳出自己的框框,按照CDN和不同的运营商了解整个市场的情况。当然,有些做起来是比较贵的,比如说电商公司在中国各地卖我的产品,肯定想知道我的网站对于成都那些客户来讲 网站响应速度怎么样,产品卖不卖得出去等,如果不去了解,永远不不知道他们的想法怎样。这样的服务虽然花点钱,但是可以了解到客户对你的网站和服务怎么看的。

  ChinaNetCloud加强与业界合作 提供更好的服务

  ChinaNetCloud提供云计算很多年,是市场先行者,现在跟阿里云等开展合作,最终希望达到AWS的水平,向中国提供。当然还有上海的世纪互联也很有前景,尤其是阿里云。可以随便加服务器,使用不同的服务,存储非常简单,甚至可以使用云来为服务器存储一些相关的服务。

  在美国没有人在服务器里面存图片,都存到云端。在中国也可以考虑这个方法。如果没有存储,不知道怎么分享相应的资产,可以了解一下其他人是怎么做的,直接放到云端就行了,而且成本很低,在中国原来做不了,今年有机会。希望大家考虑一下云端存储、云端服务器,基础设施等。我们认为未来会非常流行,希望越来越多的公司上云。这也是很好的消息,目前只能说限制在中国大陆之内的。

  另外,使用云计算的时候,要知道你的目标怎样,像阿里云一样成为AWS还是有其他的目标。如果只是一个服务器,用起来比较简单,PHP就够了。如果更大的1到21个服务器,带来什么问题。列表告诉大家什么最重要,带宽等小问题都会产生举足轻重的影响。阿里云做得也还不错。如果用云计算、云服务的话,千万不要因为小的问题给你吓了一跳。当然,如果用公共IP的话,还要为此付费等。这些都要搞清楚。我会把我们评估的标准、关于中国的云计算的相关评判标准,正式公布,大家就可以了解到了。

  中国的服务器支持美国市场、日本市场很困难

  我想在座很多都希望不仅仅在国内金融服务,还希望走出过门。可以跟亚马逊、rackspace合作。有些客户既要满足国内需求还要满足国外的需求。很多又要搞中国的系统,又要搞美国的系统,很困难。很多把服务器放在香港,在香港放服务器,给中国大陆的客户提供服务,再给美国客户提供服务。如果是一个小公司、小系统放在香港没问题。但是,如果是一个大公司,有合适的架构同步所有的信息。确保美国信息和中国信息是同步的,比如说总部信息和子公司信息一样。这里很难说你用一个简单的系统来支持美国、中国的市场。

  在香港没有Amazon,在东京用Amazon,可以更好的接触客户。这个问题看起来还没有起色。

  中国的互联网是很大的产业,很多的事态发展,变化很快

  虽然电信业的巨头买了另外一个公司,行业格局出现变化,BGP、CDN都可以改变行业的格局,必须有更好的经验监控行业,另外选IDC位置地点非常重要。在中国看性能怎么样,关键因素是IDC放在哪里,怎么更好的提供服务。像架构编写等都可以影响到CDN使用的成效,还要监控服务器的作用性能。确保在市场产生足够的影响,而且在中国赚到钱。在中国只要做得快,客户满意就开心了。

0
相关文章