可容错的微服务架构设计

可容错的微服务架构设计
可容错的微服务架构设计

可容错的微服务架构设计

微服务架构可以通过明确定义的服务边界来隔离故障。但是像在每个分布式系统中一样,发生网络、硬件、应用级别的错误都是很常见的。由于服务依赖关系,任何组件可能暂时无法提供服务。为了尽量减少部分中断的影响,我们需要构建容错服务,来优雅地处理这些中断的响应结果。

本文介绍了基于RisingStack 的Node.js 咨询和开发经验构建和操作高可用性微服务系统的最常见技术和架构模式。

如果你不熟悉本文中的模式,那并不一定意味着你做错了。建立可靠的系统总是会带来额外的成本。

微服务架构的风险

微服务架构将应用程序逻辑移动到服务,并使用网络层在它们之间进行通信。这种通过网络间通信代替单应用程序内调用的做法,会带来额外的延迟,以及需要协调多个物理和逻辑组件的系统复杂度。分布式系统的复杂性增加也将导致更高的网络故障率。

微服务体系结构的最大优势之一是,团队可以独立设计,开发和部署他们的服务。他们对服务的生命周期拥有完全的所有权。这也意味着团队无法控制他们依赖的服务,因为它更有可能由不同的团队管理。使用微服务架构,我们需要记住,提供者服务可能会临时不可用,由于其他人员发行的错误版本,配置以及其他更改等。

优雅的服务降级

微服务架构的最大优点之一是您可以隔离故障,并在当组件单独故障时,进行优雅的服务降级。例如,在中断期间,照片共享应用程序中的客户可能无法上传新图片,但仍可以浏览,编辑和共享其现有照片。

微服务容错隔离

在大多数情况下,由于分布式系统中的应用程序相互依赖,因此很难实现这种优雅的服务降级,您需要应用几种故障转移的逻辑(其中一些将在本文后面介绍),以为暂时的故障和中断做准备。

服务间彼此依赖,再没有故障转移逻辑下,服务全部失败。

变更管理

Google的网站可靠性小组发现,大约70%的中断是由现有系统的变化引起的。当您更改服务中的某些内容时,您将部署新版本的代码或更改某些配置- 这总有可能会造成故障,或者引入新的bug。

在微服务架构中,服务依赖于彼此。这就是为什么你应该尽量减少故障并限制它的负面影响。要处理变更中的问题,您可以实施变更管理策略和自动回滚机制。

例如,当您部署新代码或更改某些配置时,您应该先小范围的进行部分的替换,以渐进式的方式替换服务的全部实例。在这期间,需要监视它们,如果您发现它们对您的关键指标有负面影响,应立即进行服务回滚,这称为“金丝雀部署”。

变更管理- 回滚部署

另一个解决方案可能是您运行两个生产环境。您始终只能部署其中一个,并且在验证新版本是否符合预期之后才,将负载均衡器指向新的。这称为蓝绿或红黑部署。

回滚代码不是坏事。你不应该在生产中遗留错误的代码,然后考虑出了什么问题。如果必要,越早回滚你的代码越好。

健康检查与负载均衡

实例由于出现故障、部署或自动缩放的情况,会进行持续启动、重新启动或停止操作。它可能导致它们暂时或永久不可用。为避免问题,您的负载均衡器应该从路由中跳过不健康的实例,因为它们当前无法为客户或子系统提供服务。

应用实例健康状况可以通过外部观察来确定。您可以通过重复调用GET /health端点或通过自我报告来实现。现在主流的服务发现解决方案,会持续从实例中收集健康信息,并配置负载均衡器,将流量仅路由到健康的组件上。

自我修复

自我修复可以帮助应用程序从错误中恢复过来。当应用程序可以采取必要步骤从故障状态恢复时,我们就可以说它是可以实现自我修复的。在大多数情况下,它由外部系统实现,该系统会监视实例运行状况,并在较长时间内处于故障状态时重新启动它们。自我修复在大多数情况下是非常有用的。但是在某些情况下,持续地重启应用程序可能会导致麻烦。当您的应用程序由于超负荷或其数据库连接超时而无法给出健康的运行状况时,这种情况下的频繁的重启就可能就不太合适了。

对于这种特殊的场景(如丢失的数据库连接),要实现满足它的高级自我修复的解决方案可能很棘手。在这种情况下,您需要为应用程序添加额外的逻辑来处理边缘情况,并让外部系统知道实例不需要立即重新启动。

故障转移缓存

由于网络问题和我们系统的变化,服务经常会失败。然而,由于自我修复和负载均衡的保障,它们中的大多数中断是临时的,我们应该找到一个解决方案,使我们的服务在这些故障时服务仍就可以工作。这就是故障转移缓存的作用,它可以帮助并为我们的应用程序在服务故障时提供必要的数据。

故障转移缓存通常使用两个不同的到期日期; 较短的时间告诉您在正常情况下缓存可以使用的过期时间,而较长的时间可以在服务故障时缓存依旧可用的过期时间。

故障转移缓存

请务必提及,只有当服务使用过时的数据比没有数据更好时,才能使用故障转移缓存。

要设置缓存和故障转移缓存,可以在HTTP 中使用标准响应头。

例如,使用max-age属性可以指定资源被视为有效的最大时间。使用stale-if-error属性,您可以明确在出现故障的情况下,依旧可以从缓存中获取资源的最大时间。

现代的CDN 和负载均衡器都提供各种缓存和故障转移行为,但您也可以为拥有标准可靠性解决方案的公司创建一个共享库。

重试逻辑

在某些情况下,我们无法缓存数据,或者我们想对其进行更改,但是我们的操作最终都失败了。对于此,我们可以重试我们的操作,因为我们可以预期资源将在一段时间后恢复,或者我们的负载均衡器将请求发送到了健康的实例上。

您应该小心地为您的应用程序和客户端添加重试逻辑,因为大量的重试可能会使事情更糟,甚至阻止应用程序恢复,如当服务超载时,大量的重试只能使状况更糟。

在分布式系统中,微服务系统重试可以触发多个其他请求或重试,并启动级联效应。为了最小化重试的影响,您应该限制它们的数量,并使用指数退避算法来持续增加重试之间的延迟,直到达到最大限制。

当客户端(浏览器,其他微服务等)发起重试,并且客户端不知道在处理请求之前或之后操作失败时,您应该为你的应用程序做好幂等处理的准备。例如,当您重试购买操作时,您不应该再次向客户收取费用。为每个交易使用唯一的幂等值键可以帮助处理重试。

限流器和负载降级

流量限制是在一段时间内定义特定客户或应用程序可以接收或处理多少个请求的技术。例如,通过流量限制,您可以过滤掉造成流量峰值的客户和服务,或者您可以确保您的应用程序在自动缩放无法满足时,依然不会超载。

您还可以阻止较低优先级的流量,为关键事务提供足够的资源。

限流器可以阻止流量峰值产生

有一个不同类型的限流器,叫做并发请求限制器。当您有重要的端点,您不应该被调用超过指定的次数,而您仍然想要能提供服务时,这将是有用的。

负载降级的一系列使用,可以确保总是有足够的资源来提供关键交易。它为高优先级请求保留一些资源,不允许低优先级的事务使用它们。负载降级开关是根据系统的整体状态做出决定,而不是基于单个用户的请求量大小。负载降级有助于您的系统恢复,因为当你有一个偶发事件时(可能是一个热点事件),您仍能保持核心功能的正常工作。

要了解有关限流器和负载降级的更多信息,我建议查看这篇Stripe的文章。

快速失败原则与独立性

在微服务架构中,我们想要做到让我们的服务具备快速失败与相互独立的能力。为了在服务级别上进行故障隔离,我们可以使用舱壁模式。你可以在本文的后面阅读更多有关舱壁的内容。

我们也希望我们的组件能够快速失败,因为我们不希望对于有故障的服务,在请求超时后才断开。没有什么比挂起的请求和无响应的UI 更令人失望。这不仅浪费资源,而且还会影响用户体验。我们的服务在调用链中是相互调用的,所以在这些延迟累加之前,我们应该特别注意防止挂起操作。

你想到的第一个想法是对每个服务调用都设置明确的超时等级。这种方法的问题是,您不能知道真正合理的超时值是多少,因为网络故障和其他问题发生的某些情况只会影响一两次操作。在这种情况下,如果只有其中一些超时,您可能不想拒绝这些请求。

我们可以说,在微服务种通过使用超时来达到快速失败的效果是一种反模式的,你应该避免使用它。取而代之,您可以应用断路器模式,依据操作的成功与失败统计数据决定。

舱壁模式

工业中使用舱壁将船舶划分为几个部分,以便在船体破坏的情况下,可以将船舶各个部件密封起来。

舱壁的概念在软件开发中可以被应用在隔离资源上。

通过应用舱壁模式,我们可以保护有限的资源不被耗尽。例如,对于一个有连接数限制的数据库实例来说,如果我们有两种连接它的操作,我们采用可以采用两个连接池的方式进行连接,来代替仅采用一个共享连接池的方式。由于这种客户端与资源进行了隔离,超时或过度使用池的操作页不会使其他操作失败。

泰坦尼克号沉没的主要原因之一是其舱壁设计失败,水可以通过上面的甲板倒在舱壁的顶部,导致整个船体淹没。

泰坦尼克号舱壁设计(无效的设计)

断路器

为了限制操作的持续时间,我们可以使用超时。超时可以防止挂起操作并保持系统响应。然而,在微服务中使用静态、精细的超时是一种反模式,因为我们处于高度动态的环境中,几乎不可能提出在每种情况下都能正常工作的正确的时间限制。

替代这种静态超时的手段是,我们可以使用断路器来处理错误。断路器以现实世界的电子元件命名,因为它们的作用是相同的。您可以保护资源,并帮助他们使用断路器进行恢复。它们在分布式系统中非常有用,因为在分布式系统中,重复故障可能导致雪球效应并使整个系统瘫痪。

当特定类型的错误在短时间内多次发生时,断路器会被断开。开路的断路器可以防止进一步的请求- 就像我们平时所说的电路跳闸一样。断路器通常在一定时间后关闭,在这期间可以为底层服务提供足够的空间来恢复。

请记住,并不是所有的错误都应该触发断路器。例如,您可能希望跳过客户端问题,例如具有4xx响应代码的请求,但不包括5xx服务器端故障。一些断路

器也具有半开状态。在这种状态下,服务发送第一个请求以检查系统可用性,同时让其他请求失败。如果这个第一个请求成功,它将使断路器恢复到关闭状态并使流量流动。否则,它保持打开。

断路器

测试故障

您应该不断测试您系统的常见问题,以确保您的服务可以抵抗各种故障。您应经常测试故障,让您的团队具备故障处理的能力。

对于测试,您可以使用外部服务来标识实例组,并随机终止此组中的一个实例。这样,您可以准备单个实例故障,但您甚至可以关闭整个区域来模拟云提供商的故障。

最流行的测试解决方案之一是Netflix 的ChaosMonkey 弹性工具。

结尾

实施和运行可靠的服务并不容易。您需要付出很多努力,同时公司也要有相应的财力投入。

可靠性有很多层次和方面,因此找到最适合您团队的解决方案很重要。您应该使可靠性成为您的业务决策流程中的一个因素,并为其分配足够的预算和时间。

主要收获

?动态环境和分布式系统(如微服务)会导致更高的故障机率;

?服务应该做到故障隔离,到达优雅降级,来提升用户体验;

?70%的中断是由变化引起的,代码回滚不是一件坏事;

?做到服务快速失败与独立性。团队是无法控制他们所依赖的服务情况;

?缓存、舱壁、断路器和限流器等架构模式与技术有助于构建可靠的微服务架构。

基于SpringCloud 微服务系统设计方案

微服务系统设计方案 1.微服务本质 微服务架构从本质上说其实就是分布式架构,与其说是一种新架构,不如说是一种微服务架构风格。 简单来说,微服务架构风格是要开发一种由多个小服务组成的应用。每个服务运行于独立的进程,并且采用轻量级交互。多数情况下是一个HTTP的资源API。这些服务具备独立业务能力并可以通过自动化部署方式独立部署。这种风格使最小化集中管理,从而可以使用多种不同的编程语言和数据存储技术。 对于微服务架构系统,由于其服务粒度小,模块化清晰,因此首先要做的是对系统整体进行功能、服务规划,优先考虑如何在交付过程中,从工程实践出发,组织好代码结构、配置、测试、部署、运维、监控的整个过程,从而有效体现微服务的独立性与可部署性。 本文将从微服务系统的设计阶段、开发阶段、测试阶段、部署阶段进行综合阐述。 理解微服务架构和理念是核心。 2.系统环境

3.微服务架构的挑战 可靠性: 由于采用远程调用的方式,任何一个节点、网络出现问题,都将使得服务调用失败, 随着微服务数量的增多,潜在故障点也将增多。 也就是没有充分的保障机制,则单点故障会大量增加。 运维要求高: 系统监控、高可用性、自动化技术 分布式复杂性: 网络延迟、系统容错、分布式事务 部署依赖性强: 服务依赖、多版本问题 性能(服务间通讯成本高): 无状态性、进程间调用、跨网络调用 数据一致性: 分布式事务管理需要跨越多个节点来保证数据的瞬时一致性,因此比起传统的单体架构的事务,成本要高得多。另外,在分布式系统中,通常会考虑通过数据的最终一致性来解决数据瞬时一致带来的系统不可用。 重复开发: 微服务理念崇尚每个微服务作为一个产品看待,有自己的团队开发,甚至可以有自己完全不同的技术、框架,那么与其他微服务团队的技术共享就产生了矛盾,重复开发的工作即产生了。

容错方案和双机热备方案的对比 2

为什么选择容错 Stratus容错服务器与双机热备方案比较

一、容错技术和集群的比较: 1、可靠性比较:

容错服务器的可靠性可达到99.999%以上,其设计原理是“容错原则---容忍错误发生,当出现任意单点故障时,不会对系统造成任何影响,系统仍然连续工作”。而集群方案的可靠性只能在99.9%~99.99%之间,其设计原理是“避错原则----当系统出现故障时,如何补救错误、避免错误进一步扩大”。 2、拓扑结构比较: 计算机业界对可靠性的定义 容错服务器独立服务器 阵的独立服务器 系统 消除单点心 系统结构复杂 环节过多,外部连接 故障发生点多 系统结构简单 如同单机,内部连接 故障发生点少 无单点故障的集群方案 无单点故障的容错方案

3、软硬件架构: 在系统架构中,容错服务器结构简单,且是单软件映像。 1、 工作原理比较: 硬软件结构复杂 依赖集群软件 对所有软件和硬件要求苛刻 切换机制只能覆盖部分实际应用情况 硬软件结构简单 纯硬件容错结构 对所有软件无特殊要求 时钟同步,无需切换

容错方案在出现任何单点故障的情况之下系统工作状态均不会中断,且是零切换时间,进而完整的保护了静态数据及动态数据。 2、维护管理及实施比较: 由于容错服务器的冗余全部是依靠硬件完成的,避免了对软件及人为因素的依赖,因此,其实施及维护非常简单、方便。 3、集群和容错软硬件可靠性实测比较: System Application Fault-Tolerant Cluster Conventional 容错方案的软硬件可靠性是最高的;集群方案虽然略微提高了硬件的可靠性,但却牺牲了软件本身的可靠性。

微服务架构的部署

微服务架构的部署 本文从以下几个方面简要说明微服务架构项目的实践经验:架构选型、开发测试环境下的相关工具支持、人员分工及开发部署流程、相关设计及注意事项。最后,将根据实践经验讨论提高微服架构下的开发和运维效率的切实需求,进一步理清本项目所实现的容器服务管理平台的完善性需求。 本项目是一个企业级的容器服务管理平台,该平台的功能是基于容器实现的应用运行环境管理,以及应用开发阶段的持续集成和持续发布。简单的理解该平台的核心功能之一就是管理复杂应用的开发和运维环境,提高微服务架构下的开发和运维效率。项目的开发背景如下: 首先,该系统具有典型分布式应用系统特征: 该平台所运行的服务器配置不高,例如华为RH1288这类低配置服务器,允许硬件失败; 系统平台要求可根据实际用户数的规模进行伸缩部署,保证硬件资源的合理利用; 由于系统平台之上需要运行若干企业应用的开发和运行环境,可靠性是非常重要的,不允许单点失效。 其次,本系统功能复杂,从架构的角度需要将系统分成多个层次和若干个子系统。不同的层次、子系统根据具体情况需要采用不同的开发语言,由不同的开发小组完成。 第三,项目组成员由几个城市的异地团队协同开发,统一的开发环境和协同工具是必不可少的。 针对上述项目背景的考虑,本项目选择基于微服务架构进行项目开发。 开发、测试、部署使用到的工具集 “工欲善其事、必先利其器”,借助适合的流程和相关工具集,才能提高微服务架构下的应用开发效率。本项目利用DevOPs流程并选用一套相关工具集实现应用开发管理,提高开发、测试、部署的效率。 代码库:本项目使用分布式代码库Gitlab,它的功能不限于代码仓库,还包括reviews(代码审查), issue tracking(问题跟踪)、wiki等功能,是代码管理和异地团队沟通、协作工具的首选。 Docker镜像仓库、Docker:本项目用容器贯穿整个软件开发流程,以容器作为应用发布的载体,应用的开发环境和测试发版环境都运行在Docker容器中。对于复杂的开发和运维环境管理Docker具有先天的优势,目前国内外的互联网公司有大多数都已经将Docker应用到了他们的开发或者生产环境中了。

容错关键技术

容错关键技术 一个容错系统包含四个要素:首先是故障检测,这是容错系统必不可少的环节,其他环节以此为基础;其次是对出现的故障所造成的影响进行评估并限制其进一步传播;最后是对确定为不可恢复的故障进行处理。 容错的基本步骤概括起来是故障检测→处理故障→系统恢复。 防止故障造成系统失效有两种基本技术:即是故障掩蔽技术和系统重组技术。 故障掩蔽是防止故障造成差错的各种技术,换句话说要将发生的故障隐蔽起来。这类技术不要求在容忍故障前检测故障,但要求做到故障包容。故障包容是指使故障的影响局部化,不希望一个故障全局地影响整个系统的性能。在故障效应达到模块的输出之前,通过隔离或校正来消除它们的影响,从而达到容错的目的。 掩蔽技术不改变系统的结构,即系统部件的逻辑关系相对固定,因此掩蔽技术又称静态冗余技术。当掩蔽冗余因模块中的故障而耗尽时,再发生故障就会在输出产生错误。 系统重组是防止差错导致系统失效的各种技术。系统重组技术首先做到故障检测,然后做到故障定位,最后做到系统恢复。 系统重组技术称动态冗余技术。 故障掩蔽技术及系统重组技术是达到容错的两种基本途径。而它们又建立在资源冗余的基础上的。资源冗余主要有两种基本形式:硬件冗余和软件冗余。 1、硬件冗余 实时系统中应用最广泛的冗余形式是硬件的物理重复。随着半导体元件体积的缩小及成本的下降,硬件冗余成为更实用的一种冗余方法。硬件冗余有两种形式:被动冗余和主动冗余。 被动硬件冗余又称静态硬件冗余,是指冗余结构并不随故障情况的变化的冗余的形式。被动硬件冗余应用了故障掩蔽的概念,将发生的故障隐蔽起来,防止故障造成差错。被动硬件冗余的基本机理是通过多数表决隐蔽发生的故障。这种冗余方法一般用于多机系统。 主动硬件冗余又称动态硬件冗余,是通过故障检测,故障定位及系统恢复来

微服务架构设计与实战

关于举办“微服务架构设计与实战”高级培训班的通知 各有关单位: 作为一种新的设计和架构理念,微服务自2014年首次提出就引发了业界激烈的讨论。同时,Docker技术的迅速发展,也让微服务架构的实施变得更加容易。相比于传统的单体式应用而言,微服务这种小而化之、互相连接的设计理念不仅能让复杂应用的构建变得更加灵活,更能帮助创业企业在面对市场的高度不确定性时,快速推出新产品,低成本试错。那么,企业究竟该如何去设计、开发和部署微服务到自己的业务中去?如何做好服务发现和服务治理呢?中国软件产业培训网决定在举办“微服务架构设计与实战培训班”望各单位收到通知后组织相关人员参加。现将有关事宜通知如下: 一、培训时间及地点 2019年12月20日-12月23日北京 2020年01月10日-01月13日上海 二、主讲专家 程老师 CTO,微服务架构首席咨询师,国内较早倡导和实践微服务的先行者,多次受邀在大型技术会议主题分享“微服务架构”相关主题。超过10年以上的软件行业经验,从企业应用、互联网应用、服务化平台的架构设计、开发到自动化构建、持续集成、持续交付以及DevOps 的转型实施等有较丰富的实践经验。 范老师国内架构设计专家、多领域架构评审委员和技术架构组委员。信息技术领域具有坚实的学术背景和教学培训经验,多年研发和客户项目高级管理咨询能力,多年包括华为IPD 研发管理工作经历。善于用先进信息化技术架构和方法指导团队完成设计工作,具有雄厚的咨询能力。具有大型分布式团队的领导和管理经验。 三、培训特色 1. 理论与实践相结合、案例分析与行业应用穿插进行; 2. 专家精彩内容解析、学员专题讨论、分组研究;

HP服务器型号

1. HP ProLiant DL 服务器 2. HP ProLiant ML 服务器 3.HP ProLiant BL 刀片式服务器 (HP Blade System 刀片服务器系统) 其中DL服务器就是机柜式服务器,ML服务器是塔式服务器,BL既刀片 服务器. 惠普服务器的型号一般为DL(or ML or BL)字母+数字 如ML110 中ML为机型是塔式服务器 110为机器编号后面再开发的为 G2,再开发为G3如此类推,既第2代,第3代. 如DL 380 G4 中DL为机柜式服务器 380为机器编号 G4为基于DL380开发的第四代服务器. 惠普的每个产品都有相对应的商品编码:一般类似为 417453-AA1(此 为DL 380 G5 服务器的编码). 而根据主板平台即CPU的不同分为Intel平台和AMD平台,在命名上 的差别就体现在命名的最后一位。 Intel平台服务器使用尾数为0的命名方式,而AMD平台则尾数为5. 如ML110与ML115的区别就在于主板平台的不同。 同样DL160与DL165, DL180与DL185都有着这样的区别。 惠普服务器分类 1.HP ProLiant 系列服务器 » HP ProLiant DL 机架服务器 » HP ProLiant ML 塔式服务器 » HP Proliant BL 刀片服务器系统 2.HP Integrity 动能服务器 » HP Integrity入门级服务器 » HP Integrity中高端服务器 » HP Integrity高端服务器 » HP Integrity BL 刀片服务器 3.HP Integrity NonStop 容错服务器 » HP 9000服务器 » 电信级服务器 4.按操作系统分类 » x86 » HP-UX 11i » Intel® Itanium® 2 » Windows® » PA-RISC » Linux » Alpha » OpenVMS » NonStop OS » Tru64 UNIX 5.按处理器类型分类

重大关键技术

2016年省重点研发计划(重大关键技术) 指南 为深入贯彻创新、协调、绿色、开放、共享发展理念,围绕全省“十三五”发展规划要求,发布2016年省重点研发计划(重大关键技术)指南。 一、信息技术领域 围绕高性能电子功能材料、行业专用集成电路芯片、高端电子信息装备、基础软件、信息安全等5个重点技术方向开展关键技术研发,推进全省信息产业领域创新链与产业链的深度契合,实现全产业链关键环节重要产品的国产化替代,提升我省电子信息产业核心竞争力,保障信息安全。 1、高性能电子功能材料关键技术 研究内容:实现高端电子器件基础材料的技术突破。重点开展超细粉体技术、电子纤维微张力控制、新型后处理工艺及浸润剂配方、高压水枪开纤技术等高性能电子功能材料加工制备关键技术研究。 预期目标:电子功能材料性能达到或超过国外同类产品技术水平,满足超大规模集成电路、超薄覆铜板、陶瓷电容器、绝缘栅双极型晶体管等高性能电子元器件的质量与性能要求,实现电子功能材料的规模化生产和国产替代。

2、行业专用集成电路芯片关键技术 研究内容:实现专用集成电路设计、测试、封装等重点环节关键技术突破。重点开展软硬件逻辑模块复用、高安全性加密算法可重构IP核、Java虚拟机及Applet应用自主芯片等关键技术研发,实现存储器、无线射频、智能卡芯片、图像传感器、光电传感器等集成电路芯片自主设计目标。 预期目标:专用芯片及器件产品实现在通信、金融、社保、物流、特种设备管理、安全管控等行业中的规模化应用和国产替代。 3、高端电子信息装备关键技术 研究内容:掌握并实现高端信息装备核心技术突破。重点开展体系结构设计、异构众核内存计算和交换加速技术、高速IO存取、恒流充电式脉冲调制器和大功率扫描系统等关键技术研发,推动产业可持续发展。 预期目标:研制新一代高端容错服务器、高能工业电子加速器、微波成像雷达等高端电子信息整套装备并形成技术标准,实现在部分重要领域高端信息装备国产替代。 4、基础软件关键技术 研究内容:实现基础软件核心技术突破。实现云数据中心虚拟化、轻量多层容器管理、资源调度和应用敏捷迁移、自适应动态负载平衡、交互式处理、并行处理分析和大数据隐私保护等关键技术突破。重点开展新一代融合架构的云数

冗余设计与容错设计

冗余设计与容错设计 1.冗余与容错的概念 提高产品可靠性的措施大体上可以分为两类:第一类措施是尽可能避免和减少产品故障发生的避错”技术;第二类措施是当避错难以完全奏效时,通过增加适当的设计余量和替换工作方式等消除产品故障的影响,使产品在其组成部分发生有限的故障时,仍然能够正常工作的“容错”技术。而冗余是实现产品容 错的一种重要手段。

“容错(fault tolerance)”定义:系统或程序在出 现特定的故障情况下,能继续正确运行的能力。“冗余(redundancy)”定义:用多于一种的途径来完成一 个规定功能。“容错”反映了产品或系统在发生故障情 况下的工作能力,而“冗余”是指产品通过多种途径完成规定功能的方法和手段。“容错”强调了技术实施的最终效果,而“冗余”强调完成规定功能所采用的不同方式和途径。严格地说,冗余属于容错设计范畴。 从原理上讲,冗余作为容错设计的重要手段,其实施流 程和原则也同样适用与其他容错设计活动。

2.冗余设计 2.1.目的 冗余设计主要是通过在产品中针对规定任务增加更多的功能通道,以保证在有限数量的通道失效的情况下,产品仍然能够完成规定任务。

2.2 .应用对象 (a) 通过提高质量和基本可靠性等方法不能满足任务可靠性 要求的功能通道或产品组成单元; (b)由于采用新材料、新工艺或用于未知环境条件下,因而其任务可靠性难于准确估计、验证的功能通道或产品组成单元; (c)影响任务成败的可靠性关键项目和薄弱环节; (d)其故障可能造成人员伤亡、财产损失、设施毁坏、环境破坏等严重后果的安全性关键项目; (e)其他在设计中需要采用冗余设计的功能通道或产品组 成单元。

微服务架构设计V1

微服务架构设计

目录 一、微服务架构介绍 (3) 二、微服务出现和发展 (3) 三、传统开发模式和微服务的区别 (4) 四、微服务的具体特征 (7) 五、SOA和微服务的区别 (9) 六、怎么具体实践微服务 (11) 七、常见的设计模式和应用 (17) 八、优点和缺点 (23) 九、思考:意识的转变 (26)

一、微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的 类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。 概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。 定义:围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。 本质:用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。 二、微服务出现和发展 微服务(Microservice)这个概念是2012年出现的,作为加快Web和移动应用程序开发进程的一种方法,2014年开始受到各方的关注,而2015年,可以说是微服务的元年; 越来越多的论坛、社区、blog以及互联网行业巨头开始对微服务进行讨论、实践,可以说这样更近一步推动了微服务的发展和创新。而微服务的流行,Martin Fowler功不可没。 这老头是个奇人,特别擅长抽象归纳和制造概念。特别是微服务这种新生的名词,都有一个特点:一解释就懂,一问就不知,一讨论就打架。

微服务框架的设计与实现

微服务框架的设计与实现① 张晶1, 黄小锋2, 李春阳3 1(北京中电普华信息技术有限公司, 北京100192) 2(中国电建集团国际工程有限公司, 北京100048) 3(国网信息通信产业集团有限公司, 北京100031) 摘 要: 相对于传统单块架构, 微服务框架具有技术选型灵活, 独立部署, 按需独立扩展等优点, 更适合当前互联网时代需求. 但微服务架构的使用引入了新的问题, 如服务注册发现、服务容错等. 对微服务框架引入的问题进行分析, 并给出了微服务框架的一种实现方案, 在框架层面解决服务注册发现、服务容错等共性问题, 使业务系统开发人员专注于业务逻辑实现, 简化系统开发的难度, 提高开发效率. 关键词: 微服务框架; 服务注册; 服务发现; 服务容错 Design and Implementation of Microservice Architecture ZHANG Jing1, HUANG Xiao-Feng2, LI Chun-Yang3 1(Beijing China Power Information Technology Co. Ltd., Beijing 100192, China) 2(PowerChina International Group Limited, Beijing 100048, China) 3(State Grid Information & Telecommunication Industry Group Co. Ltd., Beijing 100031, China) Abstract: Compared with traditional single block architecture, microservice architecture has many advantages, such as flexible technology selection, independent deployment, and independent scalability more suitability for the current needs of the internet age, etc. But microservice architecture also introduces new problems such as service registration, service discovery, service fault tolerance. On the basis of the analysis for problems mentioned above, this paper proposes one implementation of microservice framework, which can solve service registration, service discovery, service fault tolerance and other common problems. Based on this, developers only need to focus on the development of business functions, so that it can simplify the difficulty of system development and improve development effectiveness. Key words: microservice architecture; service registration; service discover; fault tolerance 传统信息化系统的典型架构是单块架构(Monolithic Architecture), 即将应用程序的所有功能都打包成一个应用, 每个应用是最小的交付和部署单元, 应用部署后运行在同一进程中. 单块架构应用具有IDE友好、易于测试和部署等优势, 但是, 随着互联网的迅速发展, 单块架构临着越来越多的挑战, 主要表现在维护成本高、持续交付周期长、可伸缩性差等方面[1]. 微服务架构(Microservices)的出现以及在国内外的成功应用, 成为系统架构的一种新选择. 很多大型宝等都已经从传统单块架构迁移到微服务架构[2]. 微服务架构提倡将单块架构的应用划分成一组小的服务, 互联网公司如Twitter、Netflix、Amazon 、eBay、淘服务之间互相协调、互相配合, 为用户提供最终价值. 1 微服务架构 微服务架构是一种架构模式, 采用一组服务的方式来构建一个应用, 服务独立部署在不同的进程中, 不同服务通过一些轻量级交互机制来通信, 例如RPC、HTTP等, 服务可独立扩展伸缩, 每个服务定义了明确的边界, 不同的服务甚至可以采用不同的编程语言来实现, 由独立的团队来维护[3]. 相对于传统的单体应用架构, 微服务架构具有单个服务易于开发、理解和维护; 复杂度可控; 技术选 ①收稿时间:2016-09-18;收到修改稿时间:2016-11-03 [doi: 10.15888/https://www.360docs.net/doc/d5737043.html,ki.csa.005796]

对容错服务器的正确理解

被误读的NEC容错服务器 误读一:容错很好很昂贵 由于容错服务器采用的是硬件全冗余的技术,而且在两套硬件之间还通过独立芯片和软件保证故障时零时间切换,因而其价格要比同规格的PC服务器高出许多。 更为典型的一个用户反馈是:NEC容错服务器产品很好,可用性很高,但是不是像IBM的z系列和HP的NonStop系列动辄都是百万美元? 从上述两种态度可以看出中国用户对容错的应用定位尚属模糊。根据IDC 数据,广义概念上的容错市场约占整个服务器市场的4%,包括IBM的System z、HP的NonStop和NEC的Santa Clara、Express 5800/ft以及Stratus的ftServer 6200,前三者为传统大型主机,后二者为容错服务器。显而易见,这一市场面对的是属于中高端的窄众用户。 而了解上述用户特征后自然明白,容错所谓的昂贵其实纯属误读:如果只需要进行基础IT建设的成长型企业,完全可以采用普通的塔式和机架式服务器,而不必使用容错产品;如果是需要高可用性的中高端用户,那么容错服务器相对大型主机而言,其实相当便宜。以NEC的容错服务器Express 5800/ft为例,目前最低配置的成本甚至已经与同规格的双机热备方案相当。 误读二:虚拟化取代容错 随着用户对计算资源利用率、灵活调度的高度渴求,导致近几年来虚拟技术在PC服务器上快速增长,VMware、Citrix等技术供应商也迅速走红,由此也产生了这样一种观念:虚拟万能,即通过虚拟就能实现计算资源的灵活配置、调度并保证故障时的自动迁移。 虚拟化真是万灵丹吗?显然不是。从硬件架构的层次上看,虚拟层位于底层硬件之上,只能解决虚拟机及其应用的故障迁移。如果是底层硬件故障,诸如主板故障、电源故障、CPU损坏等,虚拟技术是无能为力的。 随着虚拟化技术的普及,容错服务器会变得越来越重要。因为当物理机宕掉的时候,它会影响运行在其上的虚拟机,所以越是依赖虚拟技术的用户越需要保证底层硬件的高可用。 误读三:容错使用很复杂 对于使用过大型主机和双机热备等高可用方案的用户来说,配置及管理系统绝对是一个技术上的考验。这也使得一些用户产生了“高可用等于高复杂”的观点。

stratus ftserver 2700 容错服务器 说明书

容错服务器ftServer2700/4700/640 0操作与维护指南

第一部分系统概览 系统特征 Stratus ftServer2700、4700和6400系统包含冗余的组件,他们同时处理相同的指令(锁步技术)。如果其中一个组件出现错误,它的冗余组件将会继续工作,消除系统停机时间和数据丢失。 Stratus故障安全软件为时钟同步技术增加了一个安全层,阻止许多因为停机或者断电所引起的软件错误。软件问题被捕获、分析,报告给Stratus,允许技术支持人员在软件问题出现之前准确定位出错处。Stratus 的强化的设备驱动更加的增强了在ftServer系统上的操作系统的可靠性。 Stratus ActiveService Network(ASN)提供可选的远程服务和Stratus Customer Assistance Center(CAC)的系统事件管理或者你的授权的Stratus服务代理商。 很多ftServer系统的组件是用户可更换单元(CRU),允许最少的培训或工具的现场人员进行简单移除和替换故障组件。 系统图释 每个ftServer2700,4700和6400系统都是安装在机架上的,包括底盘和两个CPU-I/O模块,前端面板由一个DVD驱动和USB口组装成,黑色的面板是由一个可选的连接到ASN网络的调制解调器组成,整个机器还包括一些外围组件。 ftServer2700,4700和6400系统分别为下列配置: ●ftServer2700系统:单路四核处理器 ●ftServer4700系统:双路四核处理器 ●ftServer6400系统:双路八核处理器 注意··················································· 在ftServer2700系统中,在second插槽中仍然有散热片以便气流通畅。 图1-1展示ftServer2700,4700和6400系统包含宝石切面外科的前置外观。在宝石切面外 壳的右上边有四个灯管,当外壳被安装的时候它们提供了系统状态等的显示信息。

容错服务器技术vs双机冗余

容错服务器技术vs双机冗余 2009-05-21 来自:网界网作者:宋家雨收藏 单机容错技术以Stratus公司的ftServer、惠普公司的NonStop服务器和NEC公司的Express5800/ft为代表。这种技术具有比双机冗余方案更高的容错能力。 1980年,当Bill Fost先生苦思冥想在为新公司取个什么名字的时候,无意间看到了飞机外层层叠叠的云层,由此“Stratus”诞生了。但是Bill Fost没有想到,1990当他们注册北京办事处的时候,竟然可以使用“美国容错计算机公司”,这种用技术术语命名公司的现象,此后再也没有出现过。不知道国内有多少用户知道“美国容错计算机公司”,进而了解容错技术,但是相信,这几年数量有限与很多技术领先型公司相类似,“酒香不怕巷子深”是其风格,市场上的低调在一定程度上制约了发展。 容错的含义比较宽泛,这种不确定性容易引发歧义,增加理解上的难度。从概念上来说,容错是指服务器对于错误的容纳能力,是应用过程中对于服务器稳定性追求的一个目标。为了这样一个目标,有几种技术上的实现方法,目前国内谈论最多的是三种:服务器群集技术、双机冗余服务器方案和单机容错技术。 实际上,服务器群集和双机冗余的技术比较类似,双机冗余是最简单的集群,是其一个特例,也可以把服务器集群技术视为双机冗余的延伸,可以理解为一种多机容错的方案。在一般的讨论之中,集群技术是为了解决计算性能不足的问题,通过多台服务器的集群计算,为高性能计算领域应用提供所需要的高性能。采用集群技术,通过多台服务器之间的负载均衡,可以解决服务器单点故障所引发的系统不稳定,提高系统的可靠性,因此集群具有更好的容错能力,但是在实际的应用中,集群技术多用于高性能计算。 单机容错技术以Stratus公司的ftServer、惠普公司的NonStop服务器和NEC公司的Express5800/ft为代表。这种技术具有比双机冗余方案更高的容错能力。据记者查阅有关技术资料,双机冗余系统的可靠性可以达到99.9%,也就是3个9的能力,而Stratus公司的方案,其可靠性可以达到5个9。在记者的采访中,惠普公司企业服务器产品经理陈武胜表示,其NonStop服务器作为目前惠普公司最高档的服务器,其可靠性可以达到7个9的水平。在记者看来,双机冗余与单机容错有很多的差异,绝不是3个9和5个9的区别。为了了解这些区别,记者分别采访了有关软硬件厂商,并结合实际的应用案例,帮助读者了解有关容错服务器的技术。 产品技术篇之一“没有错误”的容错服务器技术 单机容错技术是我们为了区别双机冗余技术对Stratus等容错服务器的称谓,但是在我的采访中,有关服务器厂商都不愿意采用这个称谓,他们更愿意采用容错服务器,因为单机只是一个表现形式,并不能准确表达其技术的特征。IDC资询师将这种技术称之为“没有错误”的容错服务器技术。 容错与同步技术

微服务架构落地最佳实践

微服务架构落地最佳实践

难点1:“一步到位”的认知错觉 这些年微服务大红大紫,但是真正能够拿出来做为可实践的案例少之又少。大部分的微服务案例只能看到微服务架构的“演进结果”,但是看不到微服务架构的“演进过程”。这就像每个人看到一个架构的高峰,却没有看到攀登高峰的路径。 这就给很多架构师一个假象:微服务的架构是通过能力极高的架构师一步到位设计出来的。 这和很多团队自上而下的架构设计感受和相似。于是架构师们蜂拥而至,各种分析方法论层出不穷,讨论和分享络绎不绝。然而真正落地实施的却很少,使得微服务在网络上慢慢变成了一种“玄学”:微服务的实施在“理论研究”的阶段。 这违反了软件架构的最基本规律:架构是解决当前的需求和痛点演进的,而无法对没有出现的问题和痛点进行设计。因此,一步到位的整体的微服务架构设计完全没有必要。况且一个集中化的设计,很难体现微服务的轻量级优势。 我相信技术的发展一定是向不断降低成本的方向上发展的。如果新技术没有降低成本反而提升了成本,要么这个新技术有问题,要么一定是姿势不对,走错了路。 因此,准备实施微服务一定要有一个长期的思想准备。不过跨过了最初的门槛之后,剩下的工作可以被复制而且速度会越来越快。 难点2:“架构师精英主义”

很多产品对架构师的依赖很大,即“架构师精英主义”:认为产品架构只有这个组织的“技术精英”——架构师才可以完成,而团队其它成员只需要实现架构师的设计就可以。这是大型企业和大型系统的常见问题,这来源于长期的重量级企业级架构习惯。 而微服务则类似于一种“敏捷边际革命”:即由一个不超过2~8个人的小团队就可以完成的功能。而且这种规模的团队即使从整个产品团队移除也对整体产品的研发进度没有影响。因此,即使失败了不会带来太多的损失。不过,当第一个微服务改造成功,那么成功经验的复制带来的乘数效应却能带来很大的收益。 从架构改造投资的风险收益比来看,这是非常划算的。 因此,微服务团队完全没必要大张旗鼓,只需要两三个人就可以动工。但是,谁也没有微服务的实践经验啊,万一失败了怎么办? 这就带来了下一个难点。 难点3:缺乏一个信任并鼓励创新的环境

微服务系统和数据库设计方案

微服务系统和数据库设计方案 1.微服务本质 微服务架构从本质上说其实就是分布式架构,与其说是一种新架构,不如说是一种微服务架构风格。 简单来说,微服务架构风格是要开发一种由多个小服务组成的应用。每个服务运行于独立的进程,并且采用轻量级交互。多数情况下是一个HTTP的资源API。这些服务具备独立业务能力并可以通过自动化部署方式独立部署。这种风格使最小化集中管理,从而可以使用多种不同的编程语言和数据存储技术。 对于微服务架构系统,由于其服务粒度小,模块化清晰,因此首先要做的是对系统整体进行功能、服务规划,优先考虑如何在交付过程中,从工程实践出发,组织好代码结构、配置、测试、部署、运维、监控的整个过程,从而有效体现微服务的独立性与可部署性。 本文将从微服务系统的设计阶段、开发阶段、测试阶段、部署阶段进行综合阐述。 理解微服务架构和理念是核心。 2.系统环境

3.微服务架构的挑战 可靠性: 由于采用远程调用的方式,任何一个节点、网络出现问题,都将使得服务调用失败,随着微服务数量的增多,潜在故障点也将增多。 也就是没有充分的保障机制,则单点故障会大量增加。 运维要求高: 系统监控、高可用性、自动化技术 分布式复杂性: 网络延迟、系统容错、分布式事务 部署依赖性强: 服务依赖、多版本问题 性能(服务间通讯成本高): 无状态性、进程间调用、跨网络调用 数据一致性: 分布式事务管理需要跨越多个节点来保证数据的瞬时一致性,因此比起传统的单体架构的事务,成本要高得多。另外,在分布式系统中,通常会考虑通过数据的最终一致性来解决数据瞬时一致带来的系统不可用。 重复开发: 微服务理念崇尚每个微服务作为一个产品看待,有自己的团队开发,甚至可以有自己完全不同的技术、框架,那么与其他微服务团队的技术共享就产生了矛盾,重复开发的工作即产生了。 4.架构设计 4.1.思维设计 微服务架构设计的根本目的是实现价值交付,微服务架构只有遵循DevOps理念方可进行的更顺畅,思维方式的转变是最重要的。

双机热备份和单机容错技术的比较

目前主流应用的服务器容错技术有三类,它们分别是:服务器群集技术、双机热备份技术和单机容错技术。它们各自所对应的容错级别是从低到高的,也就是说服务器群集技术容错级别最低,而单机容错技术级别最高。由此可知它们各自应用的行业容错级别需求也是从低到高的。本文主要介绍后两种容错技术,先来看一下双机热备份容错技术。 一、双机热备份技术 双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜(也可没有,而是在各自的服务器中采取RAID卡)及相应的双机热备份软件组成,如图1所示。 图1(点击看大图) 在这个容错方案中,操作系统和应用程序安装在两台服务器的本地系统盘上,整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统,将所有站点的数据直接从中央存储设备读取和存储,并由专业人员进行管理,极大地保护了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,在一台服务器出现故障时,备机主动替代主机工作,保证网络服务不间断。 双机热备份系统采用“心跳”方法保证主系统与备用系统的联系。所谓“心跳”,指的是主从系统之间相互按照一定的时间间隔发送通讯信号,表明各自系统当前的运行状态。一旦“心跳”信号表明主机系统发生故障,或者备用系统无法收到主机系统的“心跳” 信号,则系统的高可用性管理软件认为主机系统发生故障,主机停止工作,并将系统资源转移到备用系统上,备用系统将替代主机发挥作用,以保证网络服务运行不间断。 双机热备份方案中,根据两台服务器的工作方式可以有三种不同的工作模式,即:双机热备模式、双机互备模式和双机双工模式。下面分别予以简单介绍。 双机热备模式即目前通常所说的active/standby 方式,active服务器处于

容错控制简介

1.2容错技术简介 容错控制及其系统组成 容错控制的发展及研究现状 1.2.1容错控制的概念和任务 容错概念最初来源于计算机系统设计领域,是指系统内部环节发生局部故障或失效情况下,计算机系统仍能继续正常运行的一种特性。后来人们逐渐把容错的概念引入到控制系统,这样人们虽然无法保证控制系统每个环节的绝对可靠,但是构成容错控制系统后,可以使系统中的各个故障因素对控制性能的影响被显著削弱,从而间接地提高了控制系统的可靠性。特别是控制系统的重要部件的可靠度未知时,容错技术更是在系统设计阶段保证系统可靠性的必要手段。 容错控制的指导思想是在基于一个控制系统迟早会发生故障的前提下,在设计控制系统初期时就将可能发生的故障对系统的稳定性及静态和动态性能影响考虑在内。最简单的情况,如果传感器或执行器发生故障,在故障后不改变控制律的情况下,如何来维持系统的稳定性就是控制器设计过程中值得注意的问题。在容错控制技术中,这种问题属于完整性控制的范畴。 在某种程度上,容错控制系统是指具有内部冗余(硬件冗余、解析冗余、功能冗余和参数冗余等)能力的控制系统,即在某些部件(执行器、传感器或元部件)发生故障的情况下,闭环系统仍然能保持稳定,并在原定性能指标或性能指标有所降低但可接受的条件下,安全地完成控制任务,并具有较理想的特性。动态系统的容错控制是伴随着基于解析冗余的故障诊断技术的发展而发展起来的。 1.2.2容错控制的现状研究 容错控制系统的基本结构为:传感器、故障检测与诊断子系统、执行器和控制器。其中,故障检测与诊断子系统能够对控制系统进行实时故障监测与辨识等;控制器则根据故障诊断信息作出相应的处理,实施新的容错控制策略,保证系统在故障状态下仍能获得良好的控制效果。在实际控制系统中,各个基本环节都有可能发生故障。 容错控制系统有多种分类方法,如按系统分为线性系统容错控制和非线性系统容错控制,确定性系统容错控制和随机系统容错控制等;按克服故障部件分类为执行器故障容错控制,传感器故障容错控制,控制器故障容错控制和部件故障容错控制等;按控制对象不同分为基于硬件冗余和解析冗余的容错控制分类。一般,为了全面反映容错控制系统的特性,常将上述各种分类方法组合运用。 1.硬件冗余方法 硬件冗余是指对系统的重要部件及易发生故障部件设置各种备份,当系统内某部件发生故障时,对故障部分进行隔离或自动更换,使系统正常工作不受故障元器件的影响,保证系统的容错性能。硬件冗余方法根据备份部件是否参与系统工作可分为静态硬件冗余和动态硬件冗余。 l)静态硬件冗余:并联多个相同的组件,当其中某几个发生故障时并不影响其它组件的正常工作。 2)动态硬件冗余:在系统中不接入备份组件,只有在原组件发生故障后,才把输入和输出端转接到备份组件上来,同时切断故障组件的输入和输出端,即运行模块的失效,备用模块代替运行模块工作。系统应该具有自动发现故障的能力与自动转接设备。 硬件冗余方法可以用于任何硬件环节失效的容错控制,建立起来的控制系统将具有较强

容错服务器的简单理解

美国stratus公司:容错服务器的简单理 【IT168 资讯】美国stratus容错公司出品的容错服务器是一种可以实现零时间停机的服务器,在一些关键性领域里应用非常广泛,例如:电信、机场、银行、冶金行业、安全、医院的HIS系统、电视台、公安、电力行业、大的零售业,等一切要求高可用性的行业, 这类用户以前在没有办法的情况下选用的是高可用性集群,英文原文为High Availability Cluster, 简称双机HA Cluster,是指以减少服务中断(宕机)时间为目的的服务器集群技术,简称双机,这种方式实现起来非常复杂,后期维护成本也很高,对技术人员的依赖也非常严重,而且因为cluster不能实现0时间停机(消除单点故障的集群可用性是99.99%),所以他的设计目标是减少停机时间而不是避免停机时间,而容错服务器设计上就是避免停机,高可用性的时间是99.9998%,如果2个方案价格相当,您选择减少停机还是选择避免停机的服务器呢? 容错的优势 容错服务器的几点优势简单说说!(主要是和双机的区别说一下) 1:国际著名检测组织IDC公布:容错服务器的高可用性是99.9998%,而消除单点故障的集群是99.99%,IBM的大型机为99.995% 2:设计上容错的目标是避免停机,而集群是减少停机(当我们有避免停机的方案,我们为什么还要选择减少停机的方案呢?) 3:容错能有效的保护动态数据不丢失,而双机只能保证写入硬盘的数据; 4:容错能支持热插拔任意的硬件,包括主板,CPU等关键性硬件, 5:布置非常简单,只需要装单套系统,数据库也只需要一套,免去双机软件和研发代码的麻烦,从而大大的减少工程师的工作量,也大大的减少了软件成本. 6:速度比同配置的双机要快20%以上. 7:后期维护成本几乎为零,而双机的话需要工程师的支持,或许由于系统补丁的升级需要额外的研发双机代码来保证系统的切换成功; 8:容错是没有切换时间的,而双机由于硬件宕机后会发生停顿的情况,还有就是双机切换工作是有可能不成功的. 9.容错的windows系统因为有容错揪错芯片,所以容错的windows系统比传统的windows系统稳定,也许您用很多年都不需要重起windows,因为它永远和刚开机一样快,容错因此承诺容错的windows比IBM的AIX还稳定.因为您用上了容错就不知道什么叫停机. 上面说了很多与双机对比的优势,下面我们通过案例来实际了解容错到底有多好:

ftServer容错服务器日常维护手册

ftServer容错服务器日常维护手册 2009-9-9 上海海得 1. ftServer 系统启动和关闭 每个ftServer 服务器都有两个电源按钮(每个CPU-IO 机箱都有一个电源按钮),在系统插上电源线后,系统中仅有一个电源按钮亮灯,且处于活动(Active)状态,这个按钮被称为主用按钮(Primary), 可用于当前系统的启动。另外的那个电源按钮被称为备用按钮(Standby)。(在一定条件下,主用按钮和备用按钮会做切换。)ftServer 服务器需要连接两路电源,我们建议至少其中的一路使用UPS输出的电源,以防因电源故障造成的系统停机;ftServer 服务器背部有连接显示器的端口,还有3 个USB口供连接键盘和鼠标使用。 如果我们需要启动系统,只要先打开显示器电源,然后按一下ftServer 的主用按钮即可;在正常情况下,如果需要关闭系统,必须在Windows系统中操作:开始——关机——确定, Windows会处理当前文件操作,并关闭系统。 在系统运行时,如果我们长时间按下主用电源按钮,可以强行关闭系统操作(这可能会导致系统或应用数据被破坏,用户应承担相应的风险) 2. ftServer 上的各种LED指示灯 ftServer 服务器上有各种LED 指示灯,它们显示了当前的系统或部件的运行情况; 分别说明如下: CPU-IO机箱状态指示灯 每个CPU-IO 机箱均有两组状态指示灯,分别位于机箱前部的左侧(机架式)或下方(塔式)和机箱后部的左下侧(机架式)或左上侧(塔式)。每组指示灯中有一个绿灯代表电源指示灯;有一个红灯代表故障鉴别灯;有一个白/橙双色灯代表单双运行状态灯;(见下图)观察这些指示灯,可以大致判断该CPU-IO机箱的当前运行情况。 (机箱前部) (机箱后部)

相关文档
最新文档