7.5 高可用性是所有冗余

让我们从一个不同的角度看一下前面的混合超市的例子。为了处理大量顾客无需长排队,无需关闭超市,混合超市雇用更多的出纳员以及安装许多(甚至更多)的收银机。

这样,如果一个收银机故障,出纳可以简单地把它关机,坐在另一个收银台前等待顾客重新到新的收银机前。顾客不需要等待太长时间,出现故障的收银机可以被修理,混合超市正常运行。这与软件和计算机技术没有一点不同,只有事件(客户程序等待数据)在更短的时间内完成。

这个例子说明,设计一个集群的最重要的方面是在每个可能的系统级别保持冗余以避免单点故障。这是一个网络连接的例子。考虑两个相互远离的数据中心和一个包含两个站点的计算机集群。集群的维护人员已经订购的俩个网络服务提供商来提供它们之间的冗余的网络连接 。然而,如果两个提供商使用的电缆埋在同一沟里,做土方工程的履带拖拉机可以损坏它们的电缆。这实际上是一个单点故障。

让我们看看对于有两台机器的小集群来说冗余意味这什么。

在最小的限度,该系统的所有东西必须有两份:

• 两台服务器

• 两个连接,一个用于公共网络,一个用于两台服务器之间的直接通信

• 用于所有连接的以太网电缆

• 用于所有连接的两个交换机

在我们的例子中,节点有四个以太网接口,每个接口都被连接到一个交换机。两个以太网接口都绑到操作系统级别的一个接口,因此它们有一个公共的IP地址。连接到公共网络的节点使用192.168.0.x IP地址范围,还有一个两个服务器使用192.168.1.x范围的私有的,直接连接。硬件会出现故障,因此,避免单点故障的一种方法是使用bonding把两个简单的以太网接口连接到一个高级的网络接口。当一切都正常工作时,这个特点可以提供较高的吞吐量,但这点真的提供了更高的可靠性。当两台机器之间的一台交换机或者一台服务器内部的一个低级别的以太网接口出现故障,通信仍然有效。

PostgreSQL Replication之第七章 理解Linux高可用(5)的更多相关文章

  1. PostgreSQL Replication之第七章 理解Linux高可用(1)

    高可用(HA)是工业长期持续的,不间断的服务.在本章,您将了解高可用软件的历史,概念和实现与PostgreSQL复制和高可用之间的关系. 本章将详细地讲述如下主题: •理解高可用性的目的 •衡量可用性 ...

  2. PostgreSQL Replication之第七章 理解Linux高可用(6)

    7.6 PostgreSQL和高可用性 数据库是我们日常数字生活的一部分,并期望它们快速工作. 您浏览网上论坛吗?那个帖子在数据库中.您看医生吗?您的医疗记录在数据库中.您在网上购物吗?那个货物,您的 ...

  3. PostgreSQL Replication之第七章 理解Linux高可用(3)

    7.3 高可用软件的历史 有大量的专有的和开源的高可用性软件.专有的例子有:Solaris Cluster (有时称为Sun 集群 or SunCluster), SteelEye LifeKeepe ...

  4. PostgreSQL Replication之第七章 理解Linux高可用(2)

    7.2 衡量可用性 可用性是提供商试图保证一定的可用性级别和客户可以期望的可用性或更多.在某些情况下(取决于服务合同) 收取罚款或减少申购费用是意外停机的原因. 可用性的质量使用百分数来衡量:例如,9 ...

  5. PostgreSQL Replication之第七章 理解Linux高可用(4)

    7.4 术语与概念 一组计算机被称为集群.集群内的一台计算机被称为一个节点. 当集群内的节点数量是 N (2,,3,等.) ,那么我们讨论一个N节点的集群. 高可用性软件,传输层和集群管理层都运行于每 ...

  6. PostgreSQL Replication之第三章 理解即时恢复(4)

    3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. ...

  7. PostgreSQL Replication之第三章 理解即时恢复(1)

    到现在为止,您已经掌握了一定的理论.因为生活不仅由理论组成(它可能同样重要),是时候深入实际的工作了. 本章的目标是让您明白如何恢复数据到一个给定的时间点.当您的系统崩溃或者有人意外地删除了一个表,不 ...

  8. 《Linux命令行与shell脚本编程大全》 第七章理解Linux文件权限

    Linux沿用了Unix文件权限的方法,允许用户和组根据每个文件和目录的安全性设置来访问文件. 用户权限通过创建用户时分配的用户ID(UID)来跟踪的.每个用户有唯一的ID,但是登录时用的不是UID, ...

  9. PostgreSQL Replication之第三章 理解即时恢复(3)

    3.3 做基础备份 在上一节中,您已经看到,启用归档只需要几行命令,并提供了极大的灵活性.在本节,我们将看到如何创建一个所谓的基础备份,稍后这可以使用XLOG.一个基本备份是一个最初的数据的拷贝. [ ...

随机推荐

  1. bzoj3295: [Cqoi2011]动态逆序对(cdq分治+树状数组)

    3295: [Cqoi2011]动态逆序对 题目:传送门 题解: 刚学完cdq分治,想起来之前有一道是树套树的题目可以用cdq分治来做...尝试一波 还是太弱了...想到了要做两次cdq...然后伏地 ...

  2. 如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...

  3. m_Orchestrate learning system---五、学的越多,做的越快

    m_Orchestrate learning system---五.学的越多,做的越快 一.总结 一句话总结: 1.上传的图像文件用input('post.')方法取不到是为什么? 图片不来就这样取不 ...

  4. 12.boost有向图无向图(矩阵法)

    #include <iostream> #include <boost/config.hpp> //图 #include <boost/graph/adjacency_m ...

  5. 访问Storm ui界面,出现org.apache.thrift7.transport.TTransportException: java.net.ConnectException: Connection refused的问题解决(图文详解)

    不多说,直接上干货! 前期博客 apache-storm-0.9.6.tar.gz的集群搭建(3节点)(图文详解) 问题详情 org.apache.thrift7.transport.TTranspo ...

  6. 如何去掉边框及input的兼容问题?

    右偷个懒,发现别人写的也不错,我就做个小搬运工 如何去掉边框及input的兼容问题? 说到input,又不得不说它的兼容问题.input如何兼容各个浏览器呢? 第一步:清除input的border的默 ...

  7. C++12.1.4 类的前向声明、不完全类型类

    只声明却没有定义的类称为—————–不完全类型,不完全类型不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或者用于声明(不是定义)使用该类型作为形参类型或返回类型的函数. 在创建类的对象之前 ...

  8. swfit的特点

    swfit的特点: 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swift不分.h和.m文件,一个类只有.swi ...

  9. Monitor (synchronization)条件变量-安全对象

    In concurrent programming, a monitor is a synchronization construct that allows threads to have both ...

  10. selenium自动化(一).........................................搭建环境

    一  环境搭建 安装python(建议使用py3) py2和py3在语法上会有一定的差别 第三方插件逐步转向py3,很多py2的插件已经停止维护 本教程的所有代码基于py3 安装selenium插件 ...