当前位置:文档之家› 多种数据库高可用性解决方案对比分析

多种数据库高可用性解决方案对比分析

多种数据库高可用性解决方案对比分析
多种数据库高可用性解决方案对比分析

在SQLServer2008数据库中,本身就带有不少的高可用性解决方案。如可以采用故障转移群集、数据库镜像、日志传送或者复制等手段来提高数据库的高可用性。由于解决方案多了,数据库管理员不得不掌握各个解决方案的优点与缺陷,然后根据企业的实际应用来选择合适的解决方案。其实,这不仅仅是在考验解决方案的优劣性,也是在考验数据库管理员的能力。

一、数据库镜像的优劣分析

数据库镜像是一个软件解决方案,可以提供几乎是瞬时的故障转移,以提高数据库的可用性。简单的说,数据库镜像解决方案就是设置多个数据库,在多个数据库之间进行数据多同步。不同在同一个时间内,只有一个生产数据库(或者叫做主体数据库),而其他数据库都是备用数据库(又叫做镜像数据库)。当主体数据库出现故障时,系统会自动切换到镜像数据库上。此时这个镜像数据库就变为了主体数据库。由于主体数据库与镜像数据库之间数据进行了实时的同步,所以对于用户访问来说,基本不受影响。

镜像服务器解决方案最大的优点就是可以提供几乎是瞬时的故障转移。不过所采用的数据库镜像的方案不同,对于这个“瞬时”的影响也是不同的。数据库镜像可以具体分为高安全模式与高性能模式。在高安全模式下,主要体现“安全”两个字,已提交的事务会交给伙伴双方提交,此时虽然比较安全,大那时会延长事务滞后的时间。而在高性能模式下,事务部需要等待镜像服务器将日志写入到硬盘中便可以提交,为此可以最大程度的提高数据库数据不同的性能。

不过这个解决方案也有一定的缺陷,最主要是其限制条件比较多。如只能够使用标准服务器;只能够使用数据库快照对镜像服务器进行有限的报告;只能够使用数据库单一、重复的副本。如果需要其他的副本的话,在可以在使用数据库镜像的同时,采用数据库的日志传送功能。可见几个不同的解决方案可以一起结合使用,吸长补短,以提高数据库的性能与高可用性。

二、日志传送的优劣分析

跟数据库镜像一样,日志传送也是数据库级别的操作。通常情况下,可以使用日志传送来维护相应生产数据库的一个或者多个备用数据库。在日志传送中,这个生产服务器叫做主数据库服务器,备份服务器叫做辅助数据库。而在数据库镜像解决方案中,这个生产服务器也叫做主数据库服务器,不过这个辅助数据库则叫做镜像数据库。虽然他们的名字相同,但是实际上代表着同一种含义。

日志传送配置包括一个主服务器(包含主数据库),一个或多个辅助服务器(每个服务器包含一个辅助数据库)和一个监视服务器。每个辅助服务器从主数据库的日志备份按设置的时间间隔更新其辅助数据库。日志传送涉及到主服务器创建主数据库日志备份和辅助服务器还原日志备份之间用户可修改的延迟。发生故障转移之前,必须通过手动应用全部未还原的日志备份来完全更新辅助数据库。

日志传送的优势也很明显,如最大的优势可以根据需要来定义数据同步的时间,如可以将延迟的时间定义为从主服务器备份主数据库日志到辅助服务器必须还原日志备份之间的时间。在某些特定的应用环境中,这个特性会非常的有用。而且,针对单个主数据库可以在多个服务器实例上支持多个辅助数据库等等。

不过在有些情况下,这个日志传送解决方案往往不单独使用。例如将日志传送解决方案与数据库镜像结合使用。如此的话,这两个解决方案就能够各自发挥彼此的优势,以实现互补的目的。如日志传送具有支持多个备用数据库的灵活性。如果需要多个备用数据库,可以单独使用日志传送或将其作为数据库镜像的补充。当这些解决方案一起使用时,当前数据库镜像配置的主体数据库同时也是当前日志传送配置的主数据库。

三、故障转移群集的优劣分析

故障转移群集由具有两个或多个共享硬盘的一个或多个节点或服务器组成。各应用程序将安装到一个称为资源组的群集服务群集组中。在任何时候,每个资源组都仅属于群集中的一个节点。该应用程序服务具有一个与节点名称无关的虚拟名称,称为故障转移群集实例名称。应用程序可以通过引用故障转移群集实例名称与故障转移群集实例连接。应用程序不必知道哪一节点承载该故障转移群集实例。跟上面两个解决方案相比,这个故障转移群集解决方案可以说是一个基于硬件的解决方案。

故障转移群集解决方案也有不少的限制条件。有些限制条件跟数据库镜像的解决方案是相同的。如两个方案都只能够利用数据库的单个副本;需要在服务器实例范围内进行方案的实施(在镜像解决方案中比较确切的说法是需要在服务器作用范围内进行实施)。另外对于股指群集解决方案中,还有另外的一些限制。如是因为基于硬件的解决方案,为此对于硬件有比较特殊的要求,如要求硬件必须是签名的硬件等等;另外也不能够防止磁盘故障等等。其次就是在报告功能上的限制。由于故障转移群集不致此后备用部分的报告功能,这或多或少让一些数据库管理员感到遗憾。

不过与其他解决方案相比,这个故障转移群集也有很大的优势。如具有自动监测和故障转移的特性。如在当前节点不可用时,这个解决方案可以自动监测到这种故障,并可以自动在节点之间进行故障转移。假设在发生操作系统故障、非磁盘硬件故障或者对操作系统或者数据库系统进行升级时,可以在故障转移群集的一个节点上配置 SQL Server 实例,使其故障转移到磁盘组中的任意其他节点。不仅可以自动监测和故障转移,有时候出于特定的目的,还可以进行手动故障转移。如对数据库服务器进行升级时,可以手动的启动另外一个节点等等。另外最重要的一点就是可以透明客户端重定向。

四、复制解决方案的优劣分析

在SQLServer数据库中,复制也是提高可用性的一个常用的解决方案。复制使用发布-订阅模式。这样,主服务器(称为发布服务器)便可向一个或多个辅助服务器(即订阅服务器)分发数据。复制可在这些服务器间提供实时的可用性和可伸缩性。它支持筛选,以便为订阅服务器提供数据子集,同时还支持分区更新。订阅服务器处于联机状态,并且可用于报告或其他功能,而无需进行查询恢复。SQL Server 提供三种复制类型:快照复制、事务复制以及合并复制。这里需要注意一点,在写项目文档的时候,需要注意不同解决方案中对于主服务器与备份服务器的称呼都是不同的。如果数据库管理员在制作文档时发生张冠李戴的情况,虽然他们只是叫法不同,其代表的含义基本上相同。

采用复制这个解决方案,相比其他方案来说,主要的优势有两个。一个是可以实现数据刷选,即可以决定在订阅服务器中保存发布服务器中的哪些数据。订阅服务器可以使发布服务器的子集,包含其部分数据,而不是全部数据。数据同步的效率就会比较高,因为可能不

需要对全部数据进行同步。另外一个优势就是复制这个解决方案,数据滞后的时间最短,即数据同步最及时

Oracle数据库高可用解决方案


甲骨文最高可用性架构 骨 最高 用性架构 Maximum Availability Architecture

议程表
? ? ? ? ? 甲骨文简介 高可用性介绍 传 高 用性分析 传统高可用性分析 甲骨文高可用性方案介绍(MAA) 客户成功案例分享
2

Oracle公司概揽
总揽
? ? ? ? ? ? 从08财年收入$22.4B,11财年收入35.6B 在40多项产品或市场领域占据业界第一 320,000客户跨越145国家 10W员工规模 (1 in i 3 joined j i df from acquisition) i iti ) Oracle在线社区上有超过五百万开发者 34年从业经验
革新和创新
? 超过3,000 3 000个产品,拥有 个产品 拥有2,000 2 000多个专利 ? 09财年投入$3B 研发和测试资金 ? 7,500 售后支持人员, 支持27国语言
3

今天的甲骨文公司
? 全球最大的企业软件供应商 ? 数据库市场占有率第一 ? 中间件市场占有率第一 ? 应用软件市场占有率第一 ? 服务器市场占有率第三 ? 开源产品的领军者 ? 虚拟化产品的竞争者 ? 云计算方案供应商
FAST?=?FusionMiddleware Applications System Tech
4

议程表
? ? ? ? ? 甲骨文简介 高可用性介绍 传 高 用性分析 传统高可用性分析 甲骨文高可用性方案介绍(MAA) 客户成功案例分享
5

服务器高并发解决方案

服务器高并发解决方案 篇一:JAVA WEB高并发解决方案 java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据)一:高并发高负载类网站关注点之数据库没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql 主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主-从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作。我推荐的是M-M-Slaves方式,2个主Mysql,多个Slaves,需要注意的是,虽然有2个Master,但是同时只有1个是Active,我们可以在一定时候切换。之所以用2个M,是保证M不会又成为系统的SPOF。 Slaves可以进一步负载均衡,可以结合LVS,从而将select操作适当的平衡到不同的slaves上。 以上架构可以抗衡到一定量的负载,但是随着用户进一步增加,你的用户表数据超过1千万,这时那个M变成了SPOF。你不能任意扩充Slaves,否则复制同步的开销将直线上升,怎么办?我的方法是表分区,从业务层面上进行分区。最简单的,以用户数据为例。根据一定的切分方式,比如id,

切分到不同的数据库集群去。 全局数据库用于meta数据的查询。缺点是每次查询,会增加一次,比如你要查一个用户nightsailer,你首先要到全局数据库群找到nightsailer对应的cluster id,然后再到指定的cluster找到nightsailer的实际数据。 每个cluster可以用m-m方式,或者m-m-slaves方式。这是一个可以扩展的结构,随着负载的增加,你可以简单的增加新的mysql cluster进去。 需要注意的是: 1、禁用全部auto_increment的字段 2、id需要采用通用的算法集中分配 3、要具有比较好的方法来监控mysql主机的负载和服务的运行状态。如果你有30台以上的mysql数据库在跑就明白我的意思了。 4、不要使用持久性链接(不要用pconnect),相反,使用sqlrelay这种第三方的数据库链接池,或者干脆自己做,因为php4中mysql的链接池经常出问题。 二:高并发高负载网站的系统架构之HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化 /shtml/XX07/的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实

IPSec的高可用性技术

9、IPSec VPN 的高可用性技术: ①、DPD (Dead Peer Detection )对等体检测 ——旨在检查有问题的IPSec VPN 网络,并快速的切换到备用网关 ②、RRI (Reverse Route Injection )反向路由注入 ——解决高可用性的路由问题 ****************DPD************** 1、DPD 的工作模式:周期性的工作模式——设置一个定时器,路由器会按照这个定时器所设置的时间周期性的发送DPD 数据包 好处在于快速的检测到对等体的问题;缺点是这样周期的发送DPD 会消耗较多的设备资源和网络资源 按需工作模式——DPD 默认的工作模式,这样的情况下,DPD 信息会基于流量形式的不同而采取不同的发送方式。 好处是需要发送DPD 的时候才发,节约资源和网络带宽;缺点是检测到IPSec VPN 网关故障所需时间稍长。 实验拓扑: 默认配置完成,此时是可以建立起IPSec VPN 的:Site2#sho cry en conn active Crypto Engine Connections ID Type Algorithm Encrypt Decrypt LastSeqN IP-Address 1 IPsec DES+MD5 0 10 13 23.1.1.3 2 IPsec DES+MD5 10 0 0 23.1.1.3 1001 IKE SHA+DES 0 0 0 23.1.1.3 那么我们来看一下在没有DPD 功能的时候: Site1#debug crypto isakmp Crypto ISAKMP debugging is on Internet(config)#int f1/0 Internet(config-if)#shu Site1#ping 3.3.3.3 so 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: Packet sent with a source address of 1.1.1.1 ..... Success rate is 0 percent (0/5) Site1#sho cry en conn active Crypto Engine Connections ID Type Algorithm Encrypt Decrypt LastSeqN IP-Address 1 IPsec DES+MD5 0 8 9 12.1.1.1 2 IPsec DES+MD5 19 0 0 12.1.1.1 1001 IKE SHA+DES 0 0 0 12.1.1.1 这说明没有启用DPD 技术的时候,IPSec VPN 无法探测有问题的网关,因此会继续使用又问题的IPSec SA 加密数据包,接下来再看启用了DPD 的情况: Site1(config)#crypto isakmp keepalive ? <10-3600> Number of seconds between keep alives Site1(config)#crypto isakmp keepalive 10 periodic Site2(config)#crypto isakmp keepalive 10 periodic Site 1/2#cle crypto isakmp Site 1/2#cle crypto sa Internet(config)#int f1/0 Internet(config-if)#no shu 此时Site1和Site2之间又恢复了通信: Site1#ping 3.3.3.3 so 1.1.1.1 Type escape sequence to abort. IPSec 的高可用性技术 2015年8月12日17:11

技术方案-应用高可用解决方案(两地三中心)

英方软件数据库系统高可用解决方案 英方软件(上海)有限公司

目录 1. 概述 (1) 2. 需求分析 (2) 3.1主机配置 (3) 3.2方案拓扑图: (3) 3.3 I2高可用方案功能介绍 (4) 3.4管理控制台 (7) 5. I2的主要优势 (10) 6. 典型案例 (12) 7.公司简介 (13)

1. 概述 现代大型企业大多拥有为数众多的服务器,提供Internet与Intranet使用者各种不同的服务。如数据库系统、影像系统、录音系统、Email系统等。保持业务的持续性是当今企业用户进行数据存储需要考虑的一个重要方面。系统故障的出现,可能导致生产停顿,客户满意度降低,甚至失去客户,企业的竞争力也大打折扣。因此,保持业务的持续性是用户在选择计算机系统的重要指标。究其根本,保护业务持续性的重要手段就是提高计算机系统的高可靠性同时将数据的损失降至最低限度。 关键数据和数据库的备份操作已经成为日常运行处理的一个组成部分,以确保出现问题时及时恢复重要数据。传统的解决方案,类似于磁带机备份存在较大的缺点. 通常数据采用磁带离线备份,当数据量较大或突发灾难发生时,备份磁带无法真正及时快速恢复数据及业务。 提供有效的数据保护和高可用性服务,又在合理预算范围之内,并且能够基于你现有环境当中,获得实时数据保护,并无距离限制,为确保你重要数据的保护----包含数据库和邮件系统。I2为您提供了完美的解决方案。 I2 采用先进的异步实时数据复制技术(Asychronous Real-Time Data Replication),立即将所有服务器上对于磁盘系统的变更透过网络传输至备援服务器,而非整个档案或磁盘的镜设(Mirror),因此对于服务器的效能与网络带宽的影响都能降至最低,并能将成本降至最低,做到真正的实时数据保护. 业务数据是用户最宝贵的资产之一,数据的损失就是企业资产利润的损失,所以保护业务数据是企业计算系统的主要功能之一。实施I2的备份方案可以将用户数据的损失降至最低甚至为零。

5-企业案例-网络安全审计系统(数据库审计)解决方案

数据库审计系统技术建议书

目次 1.综述 (1) 2.需求分析 (1) 2.1.内部人员面临的安全隐患 (2) 2.2.第三方维护人员的威胁 (2) 2.3.最高权限滥用风险 (2) 2.4.违规行为无法控制的风险 (2) 2.5.系统日志不能发现的安全隐患 (2) 2.6.系统崩溃带来审计结果的丢失 (3) 3.审计系统设计方案 (3) 3.1.设计思路和原则 (3) 3.2.系统设计原理 (4) 3.3.设计方案及系统配置 (14) 3.4.主要功能介绍 (5) 3.4.1.数据库审计........................ 错误!未定义书签。 3.4.2.网络运维审计 (9) 3.4.3.OA审计............................ 错误!未定义书签。 3.4.4.数据库响应时间及返回码的审计 (9) 3.4.5.业务系统三层关联 (9) 3.4.6.合规性规则和响应 (10) 3.4.7.审计报告输出 (12) 3.4.8.自身管理 (13) 3.4.9.系统安全性设计 (14) 3.5.负面影响评价 (16) 3.6.交换机性能影响评价 (17) 4.资质证书.......................... 错误!未定义书签。

1.综述 随着计算机和网络技术发展,信息系统的应用越来越广泛。数据库做为信息技术的核心和基础,承载着越来越多的关键业务系统,渐渐成为商业和公共安全中最具有战略性的资产,数据库的安全稳定运行也直接决定着业务系统能否正常使用。 围绕数据库的业务系统安全隐患如何得到有效解决,一直以来是IT治理人员和DBA们关注的焦点。做为资深信息安全厂商,结合多年的安全研究经验,提出如下解决思路: 管理层面:完善现有业务流程制度,明细人员职责和分工,规范内部员工的日常操作,严格监控第三方维护人员的操作。 技术层面:除了在业务网络部署相关的信息安全防护产品(如FW、IPS 等),还需要专门针对数据库部署独立安全审计产品,对关键的数据库操作行为进行审计,做到违规行为发生时及时告警,事故发生后精确溯源。 不过,审计关键应用程序和数据库不是一项简单工作。特别是数据库系统,服务于各有不同权限的大量用户,支持高并发的事务处理,还必须满足苛刻的服务水平要求。商业数据库软件内置的审计功能无法满足审计独立性的基本要求,还会降低数据库性能并增加管理费用。 2.需求分析 随着信息技术的发展,XXX已经建立了比较完善的信息系统,数据库中承载的信息越来越受到公司相关部门、领导的重视。同时数据库中储存着诸如XXX等极其重要和敏感的信息。这些信息一旦被篡改或者泄露,轻则造成企业或者社会的经济损失,重则影响企业形象甚至社会安全。 通过对XXX的深入调研,XXX面临的安全隐患归纳如下:

SQL server高可用方案

SQL server高可用方案 一、高可用的类型 ●AlwaysOn 高可用性解决方案,需要sql server 版本在2012以上 SQL Server AlwaysOn 即“全面的高可用性和灾难恢复解决方案”。客户通过使用AlwaysOn 技术,可以提高应用管理方面的工作。 SQL Server AlwaysOn 在以下2个级别提供了可用性。 *数据库级可用性 是一种“热备份”技术。在同步提交模式下,主副本的数据被同步更新到其他辅助副本,主副本与辅助副本之间可以时,辅助副本可以立即成为新的主副本。 *实例级可用性 AlwaysOn 故障转移群集实例(Failover Cluster Instance,简称FCI)可以在多个16个节点之间实现故障转移(版只支持2个节点。 当主节点发生故障时,辅助节点提升为主节点并获取共享存储中的数据,然后才在这个新的主节点服务器中启动FCI 是一种“冷备份”技术。辅助节点并不从主节点同步数据,唯一的一份数据被保存在共享存储(群集共享磁盘)●日志传送 日志传送依赖于传统的Windows 文件复制技术与SQL Server 代理。 主数据库所做出的任何数据变化都会被生成事务日志,这些事务日志将定期备份。然后备份文件被辅助数据库所属最后事务日志备份在辅助数据库中进行恢复,从面实现在两个数据库之间异步更新数据。 当主数据库发生故障时,可以使辅助数据库变成联机状态。可以把每一个辅助数据库都当作“冷备用”数据库

●其它辅助技术 对数据库进行备份,当出现故障时,手动将数据还原到服务器,使得数据库重新联机,这也可以算作实现高可用性复制(Replication)并不算是一个高可用性解决方案,只是它的功能可以实现高可用性。复制通过“发布-订阅”模式服务器间实现可用性。 SQL server复制 定义及应用:数据库间复制和分发数据和数据库对象,然后在数据库间进 过局域网和广域网、拨号连接、无线连接和Internet 将数据分配到不同位sql server复制分成三类: 事务复制通常用于需要高吞吐量的服务器到服务器方案(包括:提高可伸 点的数据、集成异类数据以及减轻批处理的负荷)。 合并复制主要是为可能存在数据冲突的移动应用程序或分步式服务器应用 交换数据、POS(消费者销售点)应用程序以及集成来自多个站点的数据 快照复制用于为事务复制和合并复制提供初始数据集;在适合数据完全刷二、高可用的服务器配置: 如果只是需要复制方式,则搭建两台相同硬件配置和操作系统版本与补丁 如果需要AlwaysOn 高可用方式,即出现故障后系统自动进行切换到备用 服务器、从服务器)相同硬件配置和操作系统版本与补丁、相同数据库版本三、各种实现方式的对比 下表将SQL Server 常用的高可用性解决方案进行综合对比。

高并发下的接口幂等性解决方案

高并发下的接口幂等性解决方案 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。例如: 1.前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 2.我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统 bug重发,也应该只扣一次钱; 3.发送消息,也应该只发一次,同样的短信发给用户,用户会哭的; 4.创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题。 等等很多重要的情况,这些逻辑都需要幂等的特性来支持。 二、幂等性概念 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUsername()和setTrue()”函数就是一个幂等函数.更复杂的操作幂等保证是利用唯一交易号(流水号)实现。我的理解:幂等就是一个操作,不论执行多少次,产生的效果和返回的结果都是一样的 三、技术方案 1. 查询操作查询一次和查询多次,在数据不变的情况下,查询结果是一样的。select是天然的幂等操作; 2. 删除操作删除操作也是幂等的,删除一次和多次删除都是把数据删除。(注意可能返回结果不一样,删除的数据不存在,返回0,删除的数据多条,返回结果多个); 3.唯一索引,防止新增脏数据比如:支付宝的资金账户,支付宝也有用户账户,每个用户只能有一个资金账户,怎么防止给用户创建资金账户多个,那么给资金账户表中的用户ID加唯一索引,所以一个用户新增成功一个资金账户记录。 要点:唯一索引或唯一组合索引来防止新增数据存在脏数据(当表存在唯一索引,并发时新增报错时,再查询一次就可以了,数据应该已经存在了,返回结果即可) 4. token机制,防止页面重复提交 业务要求: 页面的数据只能被点击提交一次。发生原因:由于重复点击或者网络重发,或者nginx重发等情况会导致数据被重复提交 解决办法:集群环境:采用token加redis(redis单线程的,处理需要排队)单JVM环境:采用token加redis或token加jvm内存。 处理流程: 1.数据提交前要向服务的申请token,token放到redis或jvm内存,token有效时间 2.提交后后台校验token,同时删除token,生成新的token返回; 3.token特点:要申请,一次有效性,可以限流; 4.注意:redis要用删除操作来判断token,删除成功代表token校验通过,如果用select+delete 来校验token,存在并发问题,不建议使用; 5. 悲观锁获取数据的时候加锁获取select * from table_xxx where id=3939 for update;注意:id 字段一定是主键或者唯一索引,不然是锁表,会死人的悲观锁使用时一般伴随事务一起使用,数据锁定时间可能会很长,根据实际情况选用。 6. 乐观锁乐观锁只是在更新数据那一刻锁表,其他时间不锁表,所以相对于悲观锁,效率更高。乐观锁的实现方式多种多样可以通过version或者其他状态条件:

网络高可用性技术白皮书之一

网络高可用性技术白皮书(一) 杭州华三通信技术有限公司

目录 网络高可用性技术白皮书(一) (1) 1. 硬件冗余 (1) 1.1 主控冗余 (1) 1.2 单板热插拔 (2) 1.3 电源风扇冗余 (3) 2. 链路捆绑技术 (3) 3. 热补丁技术 (3) 4. IRF智能弹性架构 (4) 4.1 分布式设备管理 (5) 4.2 分布式路由 (7) 4.3 分布式链路聚合 (8)

网络高可用性技术白皮书 网络高可用性技术,基本都可以归入容错技术,即在网络出现故障(错误)时,确保网络能快速恢复。对目前常用的高可用性技术,可以作一个简单的归类: z单个设备上的硬件冗余,如双主控、单板热插拔、电源冗余、风扇冗余等; z链路捆绑,如以太网链路聚合、MP、MFR等; z环网技术,如RPR、RRPP; z STP、Smart Link、Flex Link等二层冗余技术; z冗余网关技术,如VRRP、HSRP、GLBP; z ECMP,浮动静态路由,动态路由快速收敛(如快速hello,iSPF); z不间断转发:NSF/SSO/GR; z MPLS 快速重路由; z快速故障检测技术,如BFD。 1. 硬件冗余 这里的硬件冗余指的是单台设备上的硬件冗余,一般有主控冗余、交换网冗余、单板热插拔和电源风扇冗余等,使用冗余部件可以在单个部件可靠性一定的情况下,提高整个设备的可用性。随着硬件技术的进步,目前很多设备交换网集成在主控板上,所以交换网冗余不单独介绍。 1.1主控冗余 在设备只有单主控的情况下,如果主控板故障,重起主控板需要加载映象文件、初始化配置、重新注册业务板,然后重建控制平面和转发平面表项,整个过程在5分钟左右,这个时间实在是太长了,特别对于网络中处于单点故障的节点来说更是如此,因为业务在这个过程中将完全中断。为了缩短这个时间,主控冗余应运而生。 主控冗余是指设备提供两块主控板,互为备份。因为主控冗余在控制和转发分离的架构下才能发挥最大的效用,这里先介绍一下控制和转发分离的概念。在控制和转发分离的架构中,控制平面负责各种协议,如路由协议(如RIP/OSPF/IS-IS/BGP)、标签分发协议(如LDP/RSVP-TE/BGP)等的处理,形成路由信息表(RIB)和标签信息表(LIB),从其中选择最优者,加上必要的二层信息,形成路由转发信息表(FIB)和标签转发信息表(LFIB),下发到转发平面,转发平面据此实现快速转发。控制平面的处理在主控板上进行,转发平面的处理既可以在主控板(集中式设备),也可以在业务板(分布式设备)。一旦实现了控制和转发分离,即使控制平面出现故障,转发平面的转发表项在短时间内可以认为仍然合理,继续转发数据而不会导致问题(如环路),当然,控制平面必须能快速恢复并重新和邻居建立协议会话,收敛后再对转发平面进行检查,对表项作必要更新,删除在新的会话环境下不再正确的转发表项。 在主控冗余的设备上,配备了两块主控板,一块实际起作用,称为Master,另一块备用,

高可用数据库架构设计完整版

高可用数据库架构设计标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

MySQL数据库高可用架构设计 目标: MySQL 数据库服务器不受单点宕机的影响,即时 A 服务器挂掉或者磁盘损坏物理故障导致数据库不可用也不会导致整个系统处于不可用状态,因为还有另外一台备用的数据库服务器可以提供服务。派宝箱采取方案双机主从热备 (Mater Slave 模式) 背景: 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步。对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致。这样做的好处: 1. 可以做灾备,其中一个坏了可以切换到另一个。 2. 可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。对于异地热备,尤其适合灾备。 原理: MySQL Replication双机热备 + 每天自动sqldump出物理文件备份 双机主从自动热备实现数据库服务的高可用加sqldump导出数据文件的方式备份。双重保险! 可能遇到的问题与挑战:

主从数据库数据一致性问题 宕机后主从切换的问题 1 复制概述 Mysql内建的复制功能(MySQL REPLICATION)是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。 请注意当你进行复制时,所有对复制中的表的更新必须在主服务器上进行。否则,你必须要小心,以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突。 mysql支持的复制类型: (1):基于语句的复制:在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。 一旦发现没法精确复制时,会自动选着基于行的复制。 (2):基于行的复制:把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 从开始支持(3):混合类型的复制: 默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。 . 复制解决的问题

.net高并发解决方案_1

竭诚为您提供优质文档/双击可除.net高并发解决方案 篇一:开源企业级web高并发解决方案 开源企业级web高并发解决方案 主要介绍利用开源的解决方案,来为企业搭建web高并发服务器架构花了一个多小时,画了张图片,希望能先帮你理解整个架构,之后我在一一介绍.linux的大型架构其实是一点点小架构拼接起来的,笔者从各个应用开始配置,最后在完全整合起来,以实现效果。 笔者所使用的环境为Rhel5.4内核版本2.6.18实现过程在虚拟机中,所用到的安装包为dVd光盘自带rpm包装过developmentlibrariesdevelopmenttools包组 笔者所使用的环境为Rhel5.4内核版本2.6.18实现过程在虚拟机中,所用到的安装包为dVd光盘自带rpm包装过developmentlibrariesdevelopmenttools包组 笔者虚拟机有限,只演示单边varnish配置 一、配置前端lVs负载均衡 笔者选用lVs的dR模型来实现集群架构,如果对dR模型不太了了解的朋友建议先去看看相关资料。

本模型实例图为: 现在director 上安装ipvsadm,笔者yum配置指向有集群源所以直接 用yum安装。yuminstallipvsadm 下面是director配置: dip配置在接口上172.16.100.10 Vip配置在接口别名上:172.16.100.1 varnish服务器配置:Rip配置在接口上:172.16.100.11;Vip配置在lo别名上 如果你要用到下面的heartbeat的ldirectord来实现 资源转换,则下面的#director配置不用配置 1.#director配置 2.ifconfigeth0172.16.100.10/16 3.ifconfigeth0:0172.16.100.1broadcast172.16.100.1ne tmask255.25 5.255.255up 4.routeadd-host172.16.100.1deveth0:0 5.echo1>/proc/sys/net/ipv4/ip_forward 1.#varnish服务器修改内核参数来禁止响应对Vip的aRp广播请求 2.echo1>/proc/sys/net/ipv4/conf/lo/arp_ignore

黑马程序员:高并发解决方案

黑马程序员:高并发解决方案 一、什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。 响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。 吞吐量:单位时间内处理的请求数量。 QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。 二、什么是秒杀 秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。

此种场景就是非常有特点的高并发场景,如果不对流量进行合理管控,肆意放任大流量冲击系统,那么将导致一系列的问题出现,比如一些可用的连接资源被耗尽、分布式缓存的容量被撑爆、数据库吞吐量降低,最终必然会导致系统产生雪崩效应。 一般来说,大型互联网站通常采用的做法是通过扩容、动静分离、缓存、服务降级及限流五种常规手段来保护系统的稳定运行。 三、扩容 由于单台服务器的处理能力有限,因此当一台服务器的处理能力接近或已超出其容量上限时,采用集群技术对服务器进行扩容,可以很好地提升系统整体的并行处理能力,在集群环境中,节点的数量越多,系统的并行能力和容错性就越强。在无状态服务下,扩容可能是迄今为止效果最明显的增加并发量的技巧之一。从扩容方式角度讲,分为垂直扩容(scale up)和水平扩容(scale out)。垂直扩容就是增加单机处理能力,怼硬件,但硬件能力毕竟还是有限;水平扩容说白了就是增加机器数量,怼机器,但随着机器数量的增加,单应用并发能力并不一定与其呈现线性关系,此时就可能需要进行应用服务化拆分了。 从数据角度讲,扩容可以分为无状态扩容和有状态扩容。无状态扩容一般就是指我们的应用服务器扩容;有状态扩容一般是指数据存储扩容,要么将一份数据拆分成不同的多份,即sharding,要么就整体复制n份,即副本。sharding遇

MSSQL数据库高可用性方案

高可用MS SQL Server数据库解决方案 建设目标 减少硬件或软件故障造成的影响,保持业务连续性,从而将用户可以察觉到的停机时间减至最小,确保数据库服务7*24小时(RTO为99.9%)运转,建设一套完整的高可用性MS SQL Server数据库系统。 需求分析 服务器宕机造成的影响 服务器宕机时间使得丢失客户收益并降低员工生产效率,为了避免对业务造成影响,从两个方面采取预防措施: 一、计划宕机时的可用性: ●补丁或补丁包安装 ●软硬件升级 ●更改系统配置 ●数据库维护 ●应用程序升级 二、防止非计划性宕机: ●人为错误导致的失败 ●站点灾难 ●硬件故障

●数据损毁 ●软件故障 现有状况 ●服务器存在单点故障; ●数据库未做高可用性配置; ●数据库版本为MS SQL Server2008; ●服务器配置为CPU E7540 2.0,24G存; ●数据库容量约800G 技术解决方案 解决思路 考虑到本项目的需求和最佳性能,为了达到最佳可用性,方案采用两台数据库服务器做故障转移集群,连接同一台存储做数据库的共享存储,实现故障自动转移。同时,将旧服务器作为镜像数据库,采用SQL Server 2012的alwayson 功能来再次完成自动故障转移,并可以分担查询的负载。

架构拓扑 新数据库:承担数据库主体计算功能,用于生产数据,采用双机集群,实现自动故障转移。 旧数据库:通过镜像功能,存储数据库副本,用于发生故障时的转移。也可配置为只读,承担备份的负载。 存储:存储采用双控制器,双FC连接两台服务器,避免单点故障。 主/辅域控制器:采用双机模式,SQL Server 2012 实现高可用的必备基础设施。 高可靠性技术方案 SQL Server的企业版支持所有的高可用性功能,这些功能包括:

数据库负载均衡解决方案

双节点数据库负载均衡解决方案 问题的提出? 在SQL Server数据库平台上,企业的数据库系统存在的形式主要有单机模式和集群模式(为了保证数据库的可用性或实现备份)如:失败转移集群(MSCS)、镜像(Mirror)、第三方的高可用(HA)集群或备份软件等。伴随着企业的发展,企业的数据量和访问量也会迅猛增加,此时数据库就会面临很大的负载和压力,意味着数据库会成为整个信息系统的瓶颈。这些“集群”技术能解决这类问题吗?SQL Server数据库上传统的集群技术 Microsoft Cluster Server(MSCS) 相对于单点来说Microsoft Cluster Server(MSCS)是一个可以提升可用性的技术,属于高可用集群,Microsoft称之为失败转移集群。 MSCS 从硬件连接上看,很像Oracle的RAC,两个节点,通过网络连接,共享磁盘;事实上SQL Server 数据库只运行在一个节点上,当出现故障时,另一个节点只是作为这个节点的备份; 因为始终只有一个节点在运行,在性能上也得不到提升,系统也就不具备扩展的能力。当现有的服务器不能满足应用的负载时只能更换更高配置的服务器。 Mirror 镜像是SQL Server 2005中的一个主要特点,目的是为了提高可用性,和MSCS相比,用户实现数据库的高可用更容易了,不需要共享磁盘柜,也不受地域的限制。共设了三个服务器,第一是工作数据库(Principal Datebase),第二个是镜像数据库(Mirror),第三个是监视服务器(Witness Server,在可用性方面有了一些保证,但仍然是单服务器工作;在扩展和性能的提升上依旧没有什么帮助。

数据库应用技术第二版习题参考答案

第一章: 1、订单管理系统的功能有哪些? 答: 订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。 2、说明ER模型的作用? 答: ER模型( 实体关系模型) 是描述概念世界, 建立概念世界的工具, ER方法把管理系统所要描述的问题划分为单个的实体, 经过实体间的联系实现有效、自然地模拟现实世界。 3、什么是关系模型? 关系的完整性包括哪些内容? 答: 关系模型就是用二维表格结构来表示实体及实体之间联系的模型, 关系模型包括四类完整性: 域完整性、实体完整性、参照完整性和用户定义的完整性。 4、按照功能, SQL语言分为哪4部分? 答: 按照功能, SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。 5、规范化范式是依据什么来划分的? 它与一事一地的原则有什么联系? 答: 规范化范式根据一个关系满足数据依赖的程度不同, 可规范化为第一范式( 1NF) 、第二范式( 2NF) 、第三范式( 3NF) 。规范化范式遵循一事一地的原则, 将描述一个独立事物的属性组

成一个关系。 第二章: 1、 SQL Server 有哪些新增特性? 答: SQL Server 的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性; 开发人员生产力体现在Common Language Runtime集成、集成XML、 Transact-SQL增强和SQL 服务代理; 商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。 2、 SQL Server 安装的软件和硬件环境是什么? 答: SQL Server 安装的软件和硬件环境参见教材表2-3、 2-4、2-5、 2-6。 3、 SQL Server 有哪些版本?有哪些服务组件? 答: SQL Server 包括企业版、标准版、工作组版、开发版和简易版五个版本, 服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、 Integration Services等。 4、什么是实例? 经常提到的SQL Server 服务器和服务器实例是否具有相同的含义? 答: 实例就是SQL服务器引擎, 每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。一个SQL Server

数据库高并发升级方案1

XXXXXXXXXXXX平台数据库升级方案 XXXXXXXXXXXXXXX有限公司2016年11月28日

目录 1. 概述 (4) 1.1. 背景 (4) 1.2. 目标与目的 (4) 1.3. 可行性分析 (4) 1.4. 参考依据 (5) 2. 数据库高并发方案 (5) 2.1. 数据库均衡负载(RAC) (5) 2.2. 数据库主从部署 (8) 2.3. 数据库垂直分割 (9) 2.4. 数据库水平分割 (10) 3. 二代办公平台数据库优化设计 (11) 3.1. 数据库集群 (11) 3.2. 重点业务表分区 (11) 3.3. 任务表历史数据分割 (12) 3.4. 数据库表结构优化 (12) 3.5. 数据访问优化 (12) 4. 实施方案 (13) 5. 工作量及预算评估 (14) 5.1. 工作量及预算评估 (14) 5.2. 其他费用 (15)

1.概述 1.1.背景 随着XXXXXX平台及其他子系统业务量增多,且用户已面向各地州市,用户数量增大,现有的二代办公平台及其他子系统在单一环境下的架构体系和数据库架构体系也无法高效的满足这样的场景。 当前XXXXXX平台及其子系统通过搭建多台WEB服务器和双机热备份的方式进行部署运行。虽已提高了整体效率,但对于部分的业务处理还是未解决。部分业务量并发处理多,业务关联多等因素,导致对数据库并发处理的业务量大,读写量大等也无法用双机热备份进行解决。 因此,在此背景下提高数据库访问效率,增大访问吞吐量等将成为二代办公平台及其子系统运行顺畅的关键因素。 1.2.目标与目的 目标:依托现有系统服务和设备环境,建立可扩容、高并发、高吞吐量的数据库架构体系。 目的:为缓解当前XXXXXX平台机器及其他子系统对数据库访问过大,造成的访问效率低下的问题,提升数据库访问效率和并发效率。对部分业务繁杂的表和访问进行优化设计,缓解因此造成的使用效率低下问题。 1.3.可行性分析 数据库性能分析:根据当前的数据库性能分析,当前硬件设备的提高也无法满足数据库性能的提升,因此应考虑数据库访问控制和数据访问方面进行优化。现有的数据库虽也实现双机热备份,但访问的效率未较大改善,因此应考虑各健全的数据库高并发访问方案。 数据库优化分析:当前的数据库采用的ORACLE数据库,同时,现有的均衡负载、读写分离、数据分割技术较为成熟,在对系统进行适当调整和优化的情况下,能保证系统的正常运行。

高并发网站系统架构解决方案

高并发网站系统架构解决方案 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。 大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。 上面提供的几个解决思路在一定程度上也意味着更大的投入,并且这样的解决思路具备瓶颈,没有很好的扩展性,下面我从低成本、高性能和高扩张性的角度来说说我的一些经验。 1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。 除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。 同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。 2、图片服务器分离

H3C CAS高可靠性和高可用性技术白皮书

H3C CAS高可靠性和高可用性技术白皮书

目录 1技术应用背景 (1) 2 H3C实现的技术特色 (2) 2.1 H3C CAS云计算管理平台简介 (2) 2.2相关技术基础简介 (3) 2.2.1共享存储 (3) 2.2.2动态迁移 (4) 2.3 H3C CAS高可靠性(HA)技术 (5) 2.3.1相关术语 (5) 2.3.2物理服务器主机HA工作原理 (5) 2.3.3虚拟机HA工作原理 (6) 2.3.4技术特色总结 (7) 2.4 H3C CAS高可用性技术 (8) 2.4.1动态资源调整 (8) 2.4.2虚拟机资源限额 (10) 2.5应用限制 (11) 3典型组网案例 (12) 3.1组网拓扑 (12) 3.2注意事项 (13) 3.2.1对服务器硬件的要求 (13) 3.2.2整合比(单台服务器上虚拟机数量)的决定因素 (13) 4参考文献 (14) i

1 技术应用背景 随着虚拟化和云计算浪潮在全球IT行业的兴起,越来越多的企业、行业和运营商纷纷将自身的IT 架构切换到虚拟化环境中。虚拟化技术对数据中心内未被充分利用的服务器进行整合,极大地降低了客户的一次性投入成本,精简了数据中心物理服务器的数量,同时,减少了供电、制冷、场地和运维人员方面的运营成本。 但是,虚拟化也为IT应用带来了单点故障问题,在未实施虚拟化技术之前,IT管理员往往遵循“根据最坏情况下的工作负载来确定所有服务器的配置”这一策略,即一台高性能物理服务器仅安装一个应用程序。在这种情况下,即使该物理服务器出现了断电或操作系统崩溃等异常状况,最多只会影响到一个应用的运行,而在虚拟化环境下,每台物理服务器往往运行多个虚拟的应用服务器,因此,虚拟化技术的实施将使IT环境面临的灾难破坏性更严重,尤其对于一些重要的业务入口或接入点(如企业的生产服务器和金融行业的数据库服务器等),即使出现秒级的业务中断,也将遭受灾难性的后果。在这种应用背景下,如何保证虚拟化环境下业务应用的高可靠性和高可用性,成为急需解决的一个技术问题。 VM VM VM 图1物理服务器故障造成虚拟化业务全部中断 传统的集群解决方案(如微软的Cluster Service和Veritas Cluster Server)致力于在发生服务器主机故障或虚拟机故障时,在最短的应用程序停机时间内实现即时恢复,要达到这个目标,IT基础架构必须进行如下设置: ?每台物理服务器和虚拟机都必须有一个镜像虚拟机(可能在其它服务器主机上)。 ?使用集群软件将服务器(或虚拟机及其主机)设置为互相镜像,一般情况下,由主虚拟机向镜像发送心跳信号,一旦发生故障,镜像将立即接管。 下图显示使用传统集群方法的典型的虚拟机设置: 1

相关主题
文本预览
相关文档 最新文档