Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91515
  • 博文数量: 31
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-16 20:38
文章分类
文章存档

2009年(12)

2008年(19)

我的朋友

分类: 数据库开发技术

2009-08-11 21:51:57

上周末去了和ebay的朋友一块去了千岛湖玩,在车上困的时候就睡觉,醒的时候就想想问题,想我们的项目为什么现在有这么多问题,我们好像打开了潘多拉魔盒放出了很多怪物,而且此后再也收不回来了。

然后一路上就想着这些个问题,有技术的问题,也有项目管理的问题,这里和大家share一下自己的想法。我们说其实不论是之前的分布式计算,还是如今的云计算,其实都用到了一个很基础的东西—网络,如果我们从网络的角度来看,那么分布式计算,云计算这些都成了应用层的东西。所以说,Cisco是很强大的,因为地球上凡是经济稍好的地方都在用它的交换机和路由器,这个有点扯远了。

我们说网络天生就是分布式的东西,因为如果它不是分布式的,那么某些地区就无法访问它,所以华为在积极开拓第三世界国家这块市场,确实这块市场潜力还是挺大的。通常我们在项目做design的时候都会自觉地借鉴一些以往的项目的经验,那么在我们在design云计算这个东西的时候也可以来借鉴一下网络的整个架构。我们以分布式系统的要求来看看网络,首先网络里面有“自治系统”这个概念,什么意思呢,就是说这个系统内部的节点间的通信协议和系统外部节点间的通信协议可能是不一样的,当然也可以是一样的,当然这个系统的边界节点必定要担任协议转换的工作,否则这个系统就是孤立的,那就没有任何意义了。好,让我们来考虑一下failure case,什么样的情况下我们从自治系统外部无法访问自治系统的内部节点,当然这里的访问是指合法访问,黑客入侵这类事件不在我们讨论范围内,我们只考虑一个最弱的条件,就是如果我们访问自治系统的边界节点失败,那么我们就无法访问自治系统的内部节点,OK,现在我们不happy了,因为我们没法访问自治系统内部节点了,情况似乎不太好,但是,其他自治系统我们还是可以访问的,情况似乎又不是那么糟糕。也许上面说的有些抽象,举个实际的例子,如果说你的laptop没法和Google的服务器之间建立TCP session,那么这会影响你的laptop和百度的服务器之间建立session吗?当然不会,因为这两个事件是独立事件,它们的相关系数肯定为零。总结一下上面说的网路的这个特性,就是当某个区域(比如说自治系统)的节点不能访问时,它不会影响其他区域的节点的可访问性,这完全符合分布式系统的设计要求。太棒了!

我们再来看一下整个网络是如何处理资源分布的,也许大家每天都在用网络,所以也就认不清楚网络的真面目,所谓“不识庐山真面目,只缘身在此山中”。我们说网络的部署是全球性的,废话,谁不知道,那么为什么要这么部署呢?试想一下,如果我们把所有的网络资源全部集中迁移到美国去,不考虑什么资源垄断和收费标准那些事情,对个人使用来讲有什么变化呢?又是废话。对于个人使用来说,假设这个人是中国人,就生活在大陆,那么每次他/她上网,所有的网络请求都必须要从祖国路由到大洋彼岸,再从大洋彼岸路由回来,假设他/她要上传100M的东西,这样来回折腾会耗多长时间?我没算过,但直观感受肯定快不了,是不是这样呢?所以网络要全球部署,这样网络才能尽快地处理不同地区用户的请求。当然我想电信肯定不是基于技术角度来考虑的。

同样,云计算要实现它的伟大目标,全球部署Data Center是大势所趋,如果是局部地区部署,那么就只是传统的分布式计算,不能说是云计算,当然这是我个人的一些理解。虽然云计算和网络有些共性,但是,云计算的use case导致其比网络更复杂,我们来举一个具体的use case

假设A君现在在中国北京,北京正好有个云计算Data Center,他在云计算平台申请了个账户,那么处于performance的考虑,A君的账户信息就被保存在北京Data Center,然后A君在我们的云计算platform里面存储了很多照片。好,某年某月某日,A君去美国波斯顿留洋了,波斯顿也正好有个Data Center,几年内肯定不回中国了,很自然地,A君想继续使用他以前的那个账户,可是A君的原始信息是被存在北京Data Center,波斯顿Data Center是没有的,怎么办呢?同样,北京Data Center里面存着很多对A君很有意义的照片,怎么办呢?让在波斯顿的A君每次都访问北京Data Center,这显然很不靠谱。还有个办法,就是把A君的账户信息和照片从北京同步到波斯顿,那么问题又来了,什么时候去同步呢,如果A君又去游欧洲了,那么该怎么办?如果世界上有20Data Center,那么我们是不是要复制20份同样的数据?

可以看到,问题真的很多,从技术角度来看,也许这就是为什么项目问题很多的原因,基本问题还没解决,真的没解决。当然我个人觉得还有项目管理上的问题,记得有个美国leader说过这么一句话:

Business is a matter of life. Engineers do not like it. I do not like it either. But, we have no choice.

阅读(750) | 评论(1) | 转发(0) |
0

上一篇:hack postgresql --- 模拟postgresql index corruption

下一篇:没有了

给主人留下些什么吧!~~

chinaunix网友2009-08-12 09:56:32

“全球部署Data Center是大势所趋”让我想到了linux更新镜像站点,基本上是离自己较近的更新速度快些。难道data需要做到在data center之间旅游,好似一个繁忙的交通系统,不禁想到的可恶的堵车。。。