数据库HA

 

一般把数据库层面的HA,和应用层面HA分开考虑

数据库一般采用数据库产品提供的HA方案,比如Oracle的RAC,mysql的集群,mongodb的replica set等

无HA的运维

 

在应用层面不做HA,我们产品有试过,后果十分惨重。无论是应用down了,还是硬件故障,都会造成业务中断。而且这时候想定位问题就十分纠结,因为保留现场去定位问题比较理想,但是业务一直不恢复客户又有意见,所以不做HA在生产环境是强烈不推荐的

如果真的没有HA,那运维也就是人工观察,发现业务中断了,就赶快把应用再启起来。好一点的话,可以做一点自动拉起引用的脚本,实现自动化。但是因为硬件始终只有一台,所以有时候没有办法启起来,只能临时迁移,业务中断时间会很长。而且只有一套环境,会发生应用一起来马上又down掉

冷备

 

基本上就是准备两套硬件,一套跑业务,另一套备用。第一套坏了,就把备用的那套启起来。这样基本可以抗硬件故障,因为2套硬件同时坏的几率比较低。也可以把2套硬件放在不同的网段,这样还可以抗网络故障

不过也有几个问题:

1、成本高,硬件成本,以及相应的机柜场租、电费也跟着上去了

2、第二套启动需要时间,所以业务还是会中断一会,如果是对可用性要求很严格的服务,冷备的方案基本无法满足

一般会搭配一些HA管理软件,业界比较有名的是VERITAS,可以自动改IP,自动启应用等,不过也比较贵

N:1备份

 

也是冷备的一种,不过比硬件double的方案能省一些成本。前提是应用是分布式的,那么可以只准备一台额外的机器,把所有分布式组件都部署上,然后哪个组件坏了就启哪个。如果同时2个组件坏了,那就没办法了。启动过程中的业务中断也是无法避免的。总的来说,可靠性不如完全的冷备方案,不过能省点成本

热备负载均衡

 

这种方案是可用性最高的方案,同时启动2套应用,在上层加一个负载均衡。如果一套坏了,就把请求发到好的那一台,再尝试恢复坏的那一套。业务是不中断的,但是只剩一套应用的那段时间,压力会突然大很多

前提是应用需要是无状态的,否则坏了那台机的请求,也没法转发到别的机器上。基本上应用只要满足这个条件,都会选择热备,选择冷备一般是无奈的选择(无状态改造短期做不到),因为消耗的硬件是一样的,热备的效果明显要更好HA

(转) HA的几种方案的更多相关文章

  1. 防止服务器宕机时MySQL数据丢失的几种方案

    这篇文章主要介绍了防止服务器宕机时MySQL数据丢失的几种方案,结合实践介绍了Replication和Monitor以及Failover这三个项目的应用,需要的朋友可以参考下. 对于多数应用来说,My ...

  2. 组建MySQL集群的几种方案

    组建MySQL集群的几种方案LVS+Keepalived+MySQL(有脑裂问题?但似乎很多人推荐这个)DRBD+Heartbeat+MySQL(有一台机器空余?Heartbeat切换时间较长?有脑裂 ...

  3. 【Win 10 应用开发】文件读写的三种方案

    本文老周就跟伙伴们探讨一下关于文件读写的方法.总得来说嘛,有三种方案可以用,而且每种方案都各有特色,也说不上哪种较好.反正你得记住老祖宗留给我们的大智慧——事无定法,灵活运用者为上. OK,咱们开始吧 ...

  4. 集合框架,ArrayList和Vector的区别,让arrayList线程安全的几种方案

    boolean add(E e) 将指定的元素添加到此列表的尾部. void add(int index, E element) 将指定的元素插入此列表中的指定位置. boolean addAll(C ...

  5. javascript 网络是否连接的几种方案

    js   网络是否连接的几种方案 1.通过html5的新属性: window.onload = function () {            var isOnLine = navigator.on ...

  6. javascript把IP地址转为数值几种方案,来挑战一下效率吧

    先看看什么是IP地址: IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节).IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~25 ...

  7. [转] Asp.Net 导出 Excel 数据的9种方案

    湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website ...

  8. 浅谈实现placeholder效果的几种方案

    placeholder是html5<input>的一个属性,它提供可描述输入字段预期值的提示信息(hint), 该提示会在输入字段为空时显示.高端浏览器支持此属性(ie10/11在获得焦点 ...

  9. GPRS组网的几种方案【来自网络】

    GPRS组网的几种方案:1) 方案一:中心采用ADSL等INTELNET公网连接,采用公网固定IP或者公网动态IP+DNS解析服务.此种方案向先INTERNET运营商申请ADSL等宽带业务.     ...

随机推荐

  1. mixin模式特点

    mixin模式特点: 1.单一功能, 2.不和基类关联,可以和任意基类组合,基类可以不和mixin关联就可以初始化成功 3.不使用 super() 用法

  2. 【poj2104-求区间第k大数(不修改)】主席树/可持续化线段树

    第一道主席树~然而是道比较水的...因为它不用修改... 转载一个让我看懂的主席树的讲解吧:http://blog.csdn.net/regina8023/article/details/419106 ...

  3. SpringBoot工程目录配置

    Spring Boot建议的目录结果如下: root package结构:com.example.myproject   com +- example +- myproject +- Applicat ...

  4. python urllib2练习发送简单post

    import urllib2 import urllib url = 'http://localhost/1.php' while True: data = raw_input('(ctrl+c ex ...

  5. perl 复制exe文件的简单方法

    use warnings; use strict; open EXE, "cmd.exe" or die "Can not open cmd.exe:$!\n" ...

  6. Python3 高阶函数

    高阶函数 (满足其一就是:(1)一个函数名作为另一个函数的形参:(2)返回值包含函数名;不修改函数的调用方式) 1.一个函数名作为另一个函数的形参 输出结果: 2.返回值包含函数名;不修改函数的 输出 ...

  7. C基础 时间业务实战代码

    引言 业务代码中遇到这样需求, 1. 二者是同一天吗, 2. 时间戳和时间串来回转, 3. 其它扩展需求 等. C写代码同样需要处理这方面时间问题. 本文就是为了解决这个问题. 相比其它时间库, 这里 ...

  8. canvas写的地铁地图

    更新: 18-9-21:填了个坑,更新了canvas绘制过程. 根据的是百度提供的坐标,canvas的坐标是大的坐标在后面,所以跟实际生活方向相反. 所以canvas里的北方在下方,实际生活中北方在上 ...

  9. how to create view (windows)

    View Server List  IP address: 200.xx.xx.xx How to create a new view ssh new view server by your Unix ...

  10. iframe弹出框js ie6下存在bug

    ie6的iframe在第一次加载的显示不出来,显示空白,但是很奇怪,刷新就可以正常显示了,一开始以为这只是IE6下iframe加载的bug,但是最后结果发现这是ie6下javascript延迟加载出现 ...