高可用&负载均衡常用架构

下面总结一下常用的高可用复杂均衡架构模式。


1. 客户端切换。

客户端配置多个服务器地址。如果发生某个服务器无法访问或者使用异常,客户端就切换到其它服务器上。

优点:简单,高效,可以在业务层面检测服务可用性

缺点:需要提前配置。


Mysql connect 这样做load balance 和failed over .在JDBC连接上可以配置多个服务器。


http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html#connector-j-reference-url-format


# Connection URL for a server failover setup: 
jdbc:mysql//primaryhost,secondaryhost1,secondaryhost2/test



2. DNS映射

DNS服务返回不同的IP来达到切换和负载均衡的效果。由于DNS会缓存,实际使用中问题会比较多。.

优点:对使用者是透明,

缺点:由于DNS缓存问题,可能切换不及时


3. 服务注册发现

注册服务器(zookeeper)用来管理当前可以用的服务提供。dubbo使用这种方式来实现。

     优点:可以使用复杂的负载均衡策略,可以实现服务路由。

     缺点:实现复杂




http://shiyanjun.cn/archives/325.html


4. keepalive+浮动IP


如果正在使用的机器出问题,外网Ip可以根据情况,分配到另外一台主机上。这样IP切换对外部访问者是透明的。不过要实现浮动IP,对底层网络的支持。在现在的云服务器中无法使用。


优点: 高效,对客户端透明

缺点: 对主机网络有要求,无法在云服务器中使用。


5 代理服务器(nginx ,lVS,Haproxy)


代理服务器检测上游服务器是否可用。并且会根据一定策略来路由前端过来的请求。为了避免代理服务器出现故障,导致系统无法被访问。所以一般都要结合keepalive+vip一起使用。

优点: 支持大量服务器,可以配置复杂路由规则

缺点:代理服务器有单点问题,故障检测不及时


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值