﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-君子性非异也，善假于物也。-文章分类-网络与通信</title><link>http://www.cppblog.com/xushaohua/category/2731.html</link><description>如有恒，何须三更起，半夜眠；最怕莫，三天打鱼两天晒网，竹篮打水一场空！</description><language>zh-cn</language><lastBuildDate>Wed, 20 May 2009 18:30:59 GMT</lastBuildDate><pubDate>Wed, 20 May 2009 18:30:59 GMT</pubDate><ttl>60</ttl><item><title>双机热备份技术</title><link>http://www.cppblog.com/xushaohua/articles/83383.html</link><dc:creator>neter</dc:creator><author>neter</author><pubDate>Tue, 19 May 2009 08:03:00 GMT</pubDate><guid>http://www.cppblog.com/xushaohua/articles/83383.html</guid><wfw:comment>http://www.cppblog.com/xushaohua/comments/83383.html</wfw:comment><comments>http://www.cppblog.com/xushaohua/articles/83383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xushaohua/comments/commentRss/83383.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xushaohua/services/trackbacks/83383.html</trackback:ping><description><![CDATA[目前主流应用的<a class=channel_keylink href="http://server.chinaitlab.com/" target=_blank><u><font color=#0066cc>服务器</font></u></a>容错技术有三类，它们分别是：<a class=channel_keylink href="http://server.chinaitlab.com/" target=_blank><u><font color=#0066cc>服务器</font></u></a>群集技术、双机热备份技术和单机容错技术。它们各自所对应的容错级别是从低到高的，也就是说服务器群集技术容错级别最低，而单机容错技术级别最高。由此可知它们各自应用的行业容错级别需求也是从低到高的。本文主要介绍后两种容错技术，先来看一下双机热备份容错技术。<br>　　<br>　　<strong>一、双机热备份技术</strong><br>　　<br>　　双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜（也可没有，而是在各自的服务器中采取RAID卡）及相应的双机热备份软件组成，如图1所示。<br>　　
<center><img src="http://windows.chinaitlab.com/imgfiles/2005.4.25.16.51.0.1.jpg"></center><br>　　
<center>图1（点击看大图）</center><br>　　<br>　　在这个容错方案中，操作系统和应用程序安装在两台服务器的本地系统盘上，整个网络系统的数据是通过磁盘阵列集中管理和数据备份的。数据集中管理是通过双机热备份系统，将所有站点的数据直接从中央<a class=channel_keylink href="http://www.storworld.com/" target=_blank><u><font color=#0066cc>存储</font></u></a>设备读取和<a class=channel_keylink href="http://www.storworld.com/" target=_blank><u><font color=#0066cc>存储</font></u></a>，并由专业人员进行管理，极大地保护了数据的<a class=channel_keylink href="http://security.chinaitlab.com/" target=_blank><u><font color=#0066cc>安全</font></u></a>性和保密性。用户的数据存放在外接共享磁盘阵列中，在一台服务器出现故障时，备机主动替代主机工作，保证网络服务不间断。<br>　　<br>　　双机热备份系统采用&#8220;心跳&#8221;方法保证主系统与备用系统的联系。所谓&#8220;心跳&#8221;，指的是主从系统之间相互按照一定的时间间隔发送通讯信号，表明各自系统当前的运行状态。一旦&#8220;心跳&#8221;信号表明主机系统发生故障，或者备用系统无法收到主机系统的&#8220;心跳&#8221; 信号，则系统的高可用性管理软件认为主机系统发生故障，主机停止工作，并将系统资源转移到备用系统上，备用系统将替代主机发挥作用，以保证网络服务运行不间断。<br>　　<br>　　双机热备份方案中，根据两台服务器的工作方式可以有三种不同的工作模式，即：双机热备模式、双机互备模式和双机双工模式。下面分别予以简单介绍。<br>　　<br>　　双机热备模式即目前通常所说的active/standby 方式，active服务器处于工作状态；而standby 服务器处于监控准备状态，服务器数据包括数据库数据同时往两台或多台服务器写入（通常各服务器采用RAID磁盘阵列卡），保证数据的即时同步。当active服务器出现故障的时候，通过软件诊测或手工方式将standby机器激活，保证应用在短时间内完全恢复正常使用。典型应用在证券资金服务器或行情服务器。这是目前采用较多的一种模式，但由于另外一台服务器长期处于后备的状态，从计算资源方面考量，就存在一定的浪费。<br>　　<br>　　双机互备模式，是两个相对独立的应用在两台机器同时运行，但彼此均设为备机，当某一台服务器出现故障时，另一台服务器可以在短时间内将故障服务器的应用接管过来，从而保证了应用的持续性，但对服务器的性能要求比较高。配置相对要好。<br>　　<br>　　双机双工模式：是目前cluster（群集）的一种形式，两台服务器均为活动，同时运行相同的应用，保证整体的性能，也实现了负载均衡和互为备份，需要利用磁盘柜存储技术（最好采用San方式）。WEB服务器或FTP服务器等用此种方式比较多。<br>　　<br>　　<strong>二、单机容错技术</strong><br>　　<br>　　从上面的分析我们知道，双机热备份技术所采用的是两台配置完全一样的服务器系统，其实服务器群集方案中的容错技术也是一种多服务器容错技术。而本节所要介绍的单机容错技术则是在一台服务器实现高性能容错的，它的容错能力要远比服务器群集和双机热备份中容错能力要高，所以更加适合那些如证券、电信、金融、医疗等对容错能力特别苛刻的行业。<br>　　<br>　　以往的集群系统在出现故障的情况下，需要中断服务器的运行，然后用一定的时间切换至备用的服务器上面进行运行，才能进行维修和恢复，这其中所付出的成本和带来的损失是用户最不愿意看到的。具有容错技术的容错服务器，最大的优势就在于它能够自动分离故障模块，在不中断运行的情况下，进行模块调换，对损坏的部件进行维护，并且在一切物理故障消除后，系统会自动重新同步运行，从而有效的解决了客户的后顾之忧。正因如此，具有容错技术的容错服务器，正在冲击前几年兴起的双机热备份和集群技术，越来越被人们所关注。同时，更为难得的是它可以在采用符合工业标准部件的服务器中实现（IA架构服务器），极具竞争力的成本优势，更使得容错服务器令人刮目相看。<br>　　<br>　　容错服务器是通过CPU时钟锁频，通过对系统中所有硬件的备份，包括CPU、内存和I／O总线等的冗余备份；通过系统内所有冗余部件的同步运行，实现真正意义上的容错。系统任何部件的故障都不会造成系统停顿和数据丢失。目前很多容错系统是基于IA架构的服务器，与 <a class=channel_keylink href="http://windows.chinaitlab.com/" target=_blank><u><font color=#0066cc>Windows</font></u></a> 2000完全兼容，实现以前只有在RISC系统上才能实现的容错。这种容错技术在IA服务器上的实现，将IA服务器的可靠性提高到了99.999％，同时服务器的运行是不间断的。<br>　　<br>　　双机热备份和容错服务器的定位稍微有些不同，这是由两者实现的可用性差别决定的。双机热备份一般可以实现99.9%的可用性，容错服务器却可以实现99.999%的可用性。这样，双机热备份大多应用在业务连续性不是很严格的行业，比如说公安系统、部队系统或者个别的制造企业，这些行业的应用允许数据有一小段时间的中断。而如电信、金融、证券和医疗等要求高的行业则是容错服务器的天下。还要注意的一点是双机热备份与服务器群集并不一样，双机热备份通常要求两对路服务器的配置完全一样，而服务器群集则没有这方面的严格要求，这也是许多读者容易混淆的。<br>　　<br>　　另外，双机热备份方式由于需要至少2台服务器，导致在软件采购（操作系统、中间件、双机备份软件等）、软件维护升级、系统硬件升级都需要比单机容错方式多1倍的额外投入，而且在双机备份软件出现故障后，其维修的难度较高，对客户会带来较大困难。因此虽然单机容错服务器的硬件成本高于双机备份方式的硬件投入，而其总成本（TCO）却远远低于双机备份方式的成本。但是就其灵活配置方面，双机热备份方案更具优势，许多热备份方案都是由一些系统集成商组合不同厂家服务器产品进行的，可以满足不同客户需求。但总体来说，容错服务器是未来发展的趋势。
<img src ="http://www.cppblog.com/xushaohua/aggbug/83383.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xushaohua/" target="_blank">neter</a> 2009-05-19 16:03 <a href="http://www.cppblog.com/xushaohua/articles/83383.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅析网络编程之Socket模型</title><link>http://www.cppblog.com/xushaohua/articles/37653.html</link><dc:creator>neter</dc:creator><author>neter</author><pubDate>Sun, 02 Dec 2007 15:14:00 GMT</pubDate><guid>http://www.cppblog.com/xushaohua/articles/37653.html</guid><wfw:comment>http://www.cppblog.com/xushaohua/comments/37653.html</wfw:comment><comments>http://www.cppblog.com/xushaohua/articles/37653.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xushaohua/comments/commentRss/37653.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xushaohua/services/trackbacks/37653.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/xushaohua/articles/37653.html'>阅读全文</a><img src ="http://www.cppblog.com/xushaohua/aggbug/37653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xushaohua/" target="_blank">neter</a> 2007-12-02 23:14 <a href="http://www.cppblog.com/xushaohua/articles/37653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Jabber 协议</title><link>http://www.cppblog.com/xushaohua/articles/17977.html</link><dc:creator>neter</dc:creator><author>neter</author><pubDate>Thu, 25 Jan 2007 06:17:00 GMT</pubDate><guid>http://www.cppblog.com/xushaohua/articles/17977.html</guid><wfw:comment>http://www.cppblog.com/xushaohua/comments/17977.html</wfw:comment><comments>http://www.cppblog.com/xushaohua/articles/17977.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/xushaohua/comments/commentRss/17977.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/xushaohua/services/trackbacks/17977.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Jabber 协议 概述Peter Saint-Andrestpeter@jabber.org1.4版Jabber服务协议的概述1. 介绍  Jabber是一个由开源社区发起并领导开发的即时消息和在线状态的系统。Jabber系统和其它即时消息（IM）服务的一个功能上的差别在于Jabber拥有开放的XML协议。在保持Jabber1.0版本有关消息核心以及在线状态的协议的基础上，增加了一些必要的扩展。...&nbsp;&nbsp;<a href='http://www.cppblog.com/xushaohua/articles/17977.html'>阅读全文</a><img src ="http://www.cppblog.com/xushaohua/aggbug/17977.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/xushaohua/" target="_blank">neter</a> 2007-01-25 14:17 <a href="http://www.cppblog.com/xushaohua/articles/17977.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>