Tagged: IDC RSS

  • bixuan 17:28 on 2010 年 11 月 23 日 链接地址 | 回复
    Tags: IDC,   

    [转载]多IDC数据时序问题及方法论 

    上一周在微博架构与平台安全演讲中提到多IDC及架构设计的方法,由于最近工作中经常碰到这种情况,再举一个小案例补充一下。

    Web数据访问比较好的设计模式是使用cursor方式(参考前文用Twitter的cursor方式进行Web数据分页),原理上相当于增量方式访问数据,可以极大提高访问性能。

    在单IDC场景中,如图1,系统的id是递增,假设用户上一次访问最新一条记录是1002,则本次访问最佳的方式是 get?cursor=1002,可以高效取到后面3条新记录。

    多IDC场景,看图2,假设白色背景属于Region 1,灰色背景属于Region 2, 由于两地同步有延迟,这样在Region 1中1001和1003来到时间较晚,排在本地数据1002和1004后面。假设用户上一次也是取到最新一条是1002(注意此时1001没取到,因为从外地未同步过来)。在Region 1调用 get?cursor=1002返回结果会得到什么?从数据库角度来看,访问cursor=1002 只会取到id>1002的记录,而上次未取到的1001即使已经同步过来是永远不会返回了。这样就产生了数据一致性问题,1001丢了。另外一个机房Region 2调用也产生类似问题。不同的cursor产生不同的丢失问题。

    提出这个问题后身边很多技术人员非常感兴趣,经常走在路上被拦住介绍他们突然想到的一种更巧妙的解决方法。部分思路如下
    (这里先不考虑ID递增算法如何实现,多IDC使用K-SORT方式递增也是比较容易的)

    • 例外的方式,把迟到的id都存下来
    • 补方式,把cursor往前多取一点,宁滥毋缺
    • 快照方式,最近取的记录都存下来,这样服务器内部知道这个cursor上次哪些id取了哪些没取

    大部分方法貌似都能工作,但都有问题或不完美,更重要的一点,也就是上周演讲中提到的,架构要把复杂的问题抽象简单,很多技术人员面对这个问题,并没有深层次思考这个场景的问题本质是什么,因此虽然匆匆考虑了很多复杂的解决方案,但是没有完美解决问题。

    有兴趣的朋友可以继续思考,看能否将复杂的问题抽象简单并解决?

    From: http://timyang.net/architecture/method/

     
  • bixuan 13:30 on 2009 年 09 月 07 日 链接地址 | 回复
    Tags: IDC,   

    寻求IDC资源 

    • 机器配置要求:
      DELL PE1950
      cpu:X5420*2(8core)
      mem:16G
      磁盘:希捷 146G*2 RAID1
      RAID卡:PERC 5/i或者6/i
    • 机器数量:20台
    • 机柜数:2个
    • 带宽300M
    • 机房:双线机房
    • 联系人:钟先生
      联系QQ:799977
     
  • bixuan 11:36 on 2009 年 05 月 31 日 链接地址 | 回复
    Tags: 3H1L, , , IDC, 单点   

    DNS部署原则实践 

    部署原则

    主要是按照3H1L(高可用、高性能、高安全、低成本)原则来部署,加上DNS本来就是一个强大的分布式数据库,且会根据RTT值来选择最快的DNS,以及结合中国复杂的网络环境,具体实践方法如下:
    • 至少有2台以上的服务器,防止服务器的单点;
    • 分布在不同的IDC,且不同的ISP机房,最好是不在同一城市,防止IDC和链路的单点;
    • 所在IDC链路的速度要稳定和高效,比如是骨干节点
    • 放在防火墙后面,因为DNS服务器一旦遭受攻击效果非常明显,后果非常严重;
    • 放在在不同的机柜下,防止电源单点;
    • 放在不同的交换机下,防止交换机单点;
    • 我们现在使用的BIND9是一款老牌知名的DNS软件,稳定性高,性能可以达到:30Kqps;
    • DNS对系统资源消耗并不是很多(带宽也就几百Kbps),普通的DELL(根据经验,DELL的机器相对是比较稳定的)机器就可以了;
    • 维护方便,不然出问题不能很快响应那是很糟糕的;
     
  • bixuan 11:51 on 2009 年 05 月 24 日 链接地址 | 回复
    Tags: HOPS, IDC, 温度, 湿度, 管理   

    IDC管理

    这个话题比较大,结合我自己的经验或者印象记录一下,欢迎指教!

    IDC标准

    1. 环境保证
      机房整体抗地震级别高达8级,地板承重达800/平方米;多台空调机采用侧送和风管输送相结合的方式送风,保证通风、恒温、恒湿。机房温度:15-25摄氏度,相对湿度:30%-70%;绝缘地板设计,温度烟雾感应消防系统、防火报警探测头,遇火情时系统自动报警,并启动气体自动灭器灭火。
    2. 电力保障
      两路一类市电采用10KV三相线路,互为主备用;双路冗余大功率智能UPS系统,保证持续供电;双备份柴油发电机组后备电源,保证99.9%持续电力供应;交流电220V 50HZ(16A或25A)标准19英寸机架,每台机架采用双路UPS电源直接供电;
    3. 安全保障
      专业保安24小时值守,进出机房验证登记制度;数据中心安装美国AV公司的闭路电视监控系统,提供全智能化管理。电视墙监控系统专人7×24小时值守,所有录像保存三个月以上;数据中心安装德国西门子公司的非接触式IC卡电子门禁系统及指纹示别系统,采用先进的数据库管理,IC卡内保存有持卡人编号、进出区域限制、时间限制等资料,只有经过特殊授权的人员才能进入重要区域。
    4. 网络保障
      是否为骨干节点,有效保障网络的稳定性和高速性;CISCO GSR 12008(或JUNIPER M20)高端路由器支撑IDC内部骨干;IDC内部重要网络设备采用双点备份,避免单点故障,增强网络可靠性;
    5. 技术支持
      我们拥有雄厚的维护和支持力量,其资深专业工程师具备多年电信机房管理、互联网网络维护及网站建设维护经验,将为您提供从机房设备维护、网络实时监控到网络设备故障排除等全方位的7×24小时的专业技术支持。
    这里只是列出几个主要的,实际上的标准远远比这个复杂,有兴趣的可以去网上搜索……

    如何选择一个好的IDC

    鉴别一个IDC的好坏,大致分为3个方面:
    1. 网络质量(网络拓朴,包括冗余设计,网络架构,安全)
    2. 自身硬件资源
    3. 服务

    网络质量

    如何来确定一个IDC的网络质量,首先要看其网络拓扑,一般IDC都会告诉客户。网络拓扑设计的质量,直接关系到后续的服务,比如安全等。
    这里我们简单的从以下三个方面来考虑:
    1. 到各个骨干节点的网络延迟
    2. 所需要的路由跳数(Hops)
    3. 各地下载速度
    测试网络延迟和Hops
    其中网络延迟和所需要的路由跳数(hops)可以使用mtr命令来采集数据,并绘制成图形。
    /usr/sbin/mtr -c 10 -n -r 202.96.209.5
    当然,后面的IP采用骨干节点来测试比较准确(实在不行就收集各地的互联星空IP也可以),或者收集各省的互联星空IP也是可以的。
    测试各地下载速度
    测试各地下载速度会比较麻烦,因为需要在测试的IDC里放服务器,然后通过测速系统来采集数据,然后看下载所需要的响应时间。

    自身硬件资源

    IDC自身硬件资源的好坏,直接影响后面的服务。这里主要涉及到:核心网络设备,UPS、机柜,可用带宽等。

    服务

    这里服务器主要是软服务,比如机房调整是否会提前通知,和客户配合是否很积极且效率高什么的。

    常见IDC维护

    说真的IDC维护是琐碎的,又是高危的活(辐射大,听到好个朋友说他认识的人中有人因为长期在机房高能根正而影响生育)
    以下项目必须检查:
    • 温度:[标准:15-25摄氏度]
    • 湿度:[标准:30-70%]
    • 主机硬盘:[正常是绿灯,故障是红灯]
    • 其他…
     
c
写新的
j
下一篇文章/下一个回复
k
前一篇文章/以前的回复
r
回复
e
编辑
o
显示/隐藏 回复
t
回到顶部
l
go to login
h
show/hide help
esc
取消