二者区别如下:
1,双线机房好于单线机房;
2,双线机房,电信和网通的用户都可以访问,速度更快。
机房:
在IT业,机房普遍指的是电信、网通、移动、双线、电力以及政府或者企业等,存放服务器的,为用户以及员工提供IT服务的地方,小的几十平米,一般放置二三十个机柜,大的上万平米放置上千个机柜,甚至更多,机房里面通常放置各种服务器和小型机,例如IBM小型机,HP小型机,SUN小型机,等等,机房的温度和湿度以及防静电措施都有严格的要求,非专业项目人员一般不能进入,机房里的服务器运行着很多业务,例如移动的彩信、短消息,通话业务等。机房很重要,没有了机房,工作、生活都会受到极大影响,所以每个机房都要有专业人员管理,保证业务正常运行。现今社会,机房就是互联网数据中心,简称IDC。
了解下双机房要考虑注意的事项,角度不一定完全原有单机房的情况下,如果有网络问题或者极端情况造成服务瘫痪,双机房就能体现价值。
或者说A机房某服务挂掉了,但是B机房该服务还能work,需要A机房上游切量调用B机房下游服务
正常情况下:A_up调用A_down,B_up调用B_down
双机房情况下,支持自定义流量百分比,确认多少流量A_up打到B_down
服务发现中,实例可以加上机房标识符,比如上游叫做up.A,up.B,
下游叫做down.A,down.B
这样上游服务可以知道下游服务中,有down.A,down.B两组标识
上面说的每个标识,在服务发现(如zk,consul)中对应一个实例列表,会有下面最简单的结构
支持上游按照百分比指定调用下游量
比如
这样A.up调用下游down服务时,random一下,就能决定是调用A.down还是B.down
同样,如果决定了A.down,那么再在ip1:port1,ip2:port2,...中随机一下即可
这里可以拓展上下游的概念,
上游可以拓展到lb,lb决定多少量打到A机房api,多少量打到B机房api
下游也可以拓展到基础服务如redis,mysql,kafka,但是会涉及到主从同步问题
麻烦一点在于
1.双机房的注意事项
读写的分离,比如A机房为master,负责所有的写包括mysql,redis等,B机房能承担读的职责,如果A挂了,那么只能保证主要的读功能是work的
容量的配比,基本上要求是1:1,不然A完全挂的时候,B扛不住。
正常的时候,A+B的流量才是1,但是A+B能够处理的总容量得是2
延迟:跨机房调用毕竟有延迟,能同机房rpc尽量同机房rpc,同机房下游服务出问题了采取调用对端机房服务
2.api层A机房断了怎么办
lb层全部打到B机房去?
怎么保证请求会到b机房的lb层?
用类似域名下发的服务提供给客户端,客户端访问的时候都去访问B机房
(这下面涉及到网络模型等,暂时不是非常了解)
单线就是机房机房接入的带宽是单电信或者单网通接入,此类机房通常为运营商自建的国营机房。双线机房顾名思义就是同时有电信和网通带宽接入的机房,多线同理,以前的双线技术是通过双线双IP来实现的(入访问网站第一界面是选择:电信---网通,后来可以通过智能域名解析完成);现在的双线多线技术大部分是BGP多线单IP实现的,BGP(边界网关协议)协议主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由,此类机房大部分由私人自建。选择单线或者双线多线主要是根据客户的业务需求与业务应用而决定的,比如客户的客户群体遍布全国那肯定是选择双线机房,客户的应用如果是有订单或者在线支付功能的,那么也是应该选择双线机房的。其实有很多中型大客户由于业务和业务应用涉及范围非常广,使用单线和双线多线结合的方式也是常有的事情。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)