不得不知道的知识补丁-----google数据中心的拓扑结构 国内做网站为访问速度占有优势多半为多节点分布,但谷歌的布置一般人就不太明白他们的分布,给同行们做个普及,adsense中国论坛大佬们在写相应的插件或有其它要求的时候可以借鉴。 谷歌的布置: 约10台物理服务器组成了一个机柜rack 一排机柜组成一个机柜排 row 一排或多排机柜组成了一个集群clustr 一般来说,一个数据中心datacenter包含多个集群 每个数据中心的物理服务器都需要能够互相进行网络通信,几百台google自己制造的交换机以clos连接方式连接起来创建了一个非常快的虚拟网络交换机,这个交换机有几万个虚拟端口,此交换机称之为jupiter,在google最大的一个数据中心内,jupiter可以供1.3 pb/s的交叉带宽,知道了这些就应该懂的一些东西,googleadwords googleadsense googleanalytics以及其它google的产品都是用的同一个IP数据库,如果你想EMU的话,这些东西你必须要知道。 知道上面的内在的东西,我们如果想写点什么的要注意以下: 一个全新、高效解决问题的方法 对重复性、手工的操作有天然的排斥感 有足够技术和能力快速开发出软件插件及系统以替代手工操作 要用软件工作的思维和方法论完以前由系统管理或团队手工完成的任务,设计构建成自动化工具来取代人工操作。 这个系统主要是针对买来的IP自动处理,可以自主运行,可以自动修复问题,目标是推动整个系统趋向于无人工化运行,而不仅是自动化某些人的流程。 如果你们要写这个东西的话,这个系统要求:可用性改进、延迟自身的优化、性能优化、效率优化、变更后台管理、监控、事务事件处理,尽可能的模拟google的运行生产环境。 如果你想写插件或exe运行程序的话,在编译的过程中,编译软件会向运行在数据中心的编译服务器发送请求,(这里自己抓包分析),这里不深讨论。 如 EMU的话,监控是必不可少的部分,我们要在我们的数据中心运行自己的监控程序或监控插件,定期从监控对象抓取监控指标,这些监控指标可以用来触发警报(这里跟谷歌adsense触发警报同一道理)也可以存档便于以后查看对比,其中最重要的是对真实情况的报警。 说下google的一种传输格式, protocol buffer 是谷歌RPC的传输格式,简写protobuf,与apache thrift相似,但是protobuf比XML有优势,且更简单易受用,而且数据大小比XML格式要小N多倍,这里的N大于3-10左右,且协议更明确简明,懂传输协议的更明白。 看下面的一个小东西: - Rules <<<
- {var=dc:http_errors:ratio_rate10m,job=webserver}> 0..01
- Andby job, error
- {var=dc:http_errors:rate10m,job=webserver}>1
- For2m
- =>errorrAtionTooHigh
- Details ‘webserver error ratio at[[trigger_value]]’
- Labels {severity=page};
复制代码
>>> 以上为一个简单的报警规则,懂的拍砖轻点。 本论坛数据库丢失的大部分数据无法恢复,后期有再次更新论坛版本的可能,对自己有需要的贴子请各位提前备份!
|