11.6 设计高可用性解决方案

11.6  设计高可用性解决方案

11.6.1 规划时的考虑因素

  在规划高可用性时需要综合考虑以下两个因素:

● RTO(Recovery Time Objective,即目标恢复时间)

  RTO 表示业务系统每次容忍多少宕机时间。如果业务停顿时间过长,损失自然也会增加。对于特别重要的业务系统,可能需要同时使用多种技术确保在发生故障时能够迅速恢复业务。

● RPO(Recovery Point Objective,即目标恢复点)

  RPO 表示容忍多少数据丢失。通常只要做好备份,就可以使数据不丢失。但当灾难发生时,从备份进行恢复的操作会导致数据库在现阶段不可用;如果恢复的时间特别长,业务停顿所造成的损失可能比丢失少量数据更严重。特别对于数据量非常大的数据库,更需要预先考虑到恢复时间和数据丢失之间的权重而制定充足的预案。

  通常 RTO 与 RPO 两者之间存在冲突,需要根据业务需求、投资规模等多方面因素来权衡,从而制订 SLA(Service Level Agreement,即服务水平协议)。

11.6.2  各项技术的对比


AlwaysOn

故障转移群集


AlwaysOn

可用性组

数据库镜像 日志传送
副本数量 最多8个 1个 无限制

副本的可用性

(只读访问)

不适用 可以 创建快照,然后访问快照 “备用模式”时可以访问
对外唯一IP地址 主体和镜像分别是独立的IP地址 独立的IP地址
自动故障转移 可以 可以 可以(需要有见证服务器) 不可以
故障转移单元 实例 一组数据库 单个数据库 不适用

11.6.3  负载分摊

  SQL Server 虽然不支持负载均衡,但考虑到 SQL Server 具有较低的 TCO(Total Cost of Ownership,即总拥有成本),因此可以将数据库的访问分摊到多个数据库,而多个数据库可以分别位于不同计算机的 SQL Server 实例。

  在设计数据库应用程序时,就应当考虑到将来可以实现负载分摊。分摊的方式主要有两种:读写分离、业务数据分离。

◆ 读写分离

  读写分离并不是数据库自有的功能,因为客户端的连接字符串就已经指定了目标数据库,SQL Server 数据库引擎不会主动在客户端的请求中筛选哪些是只读访问,更不会将只读访问重定向到另一个 SQL Server 实例。

  在设计数据库应用程序时,考虑到只读副本可以承担一些只读访问,因此可以将其中的一些只读访问(例如,报表查询,备份等)定向到只读副本,实现读写分离。

  根据不同的数据更新的延迟需求,可以考虑采用同步提交(AlwaysOn可用性组)、异步提交(AlwaysOn可用性组、数据库镜像、日志传送等)模式。

◆ 业务数据分离

  一般情况下,一台计算机的性能是有限的,而让更多的计算机参与进来就有可能提升性能。可以考虑将业务数据分布在多台计算机的 SQL Server 实例上,这样可以使应用程序的访问请求被分摊到多个独立运行的数据库上。

  下例是一家 OTA(Online Travel Agent,即在线旅游代理)企业在遇到数据库规模迅速增长时将数据库分离到5台服务器。

  根据具体的业务需求和逻辑结构,可以单独或组合使用上述负载分摊方案,从而实现满意的性能目标。

提示:

  由于 AlwaysOn 故障转移群集的数据文件位于共享存储,且没有副本,因此不能实现负载分摊。

时间: 2024-10-22 21:40:24

11.6 设计高可用性解决方案的相关文章

第11章 SQL Server 高可用性解决方案

第11章  SQL Server 高可用性解决方案 11.1  高可用性与网络负载均衡  http://mssqlmct.blog.51cto.com/9951484/1641028 11.2  日志传送简介 11.3  数据库镜像简介 11.4  AlwaysOn 故障转移群集简介 11.5  AlwaysOn 可用性组简介 11.6  设计高可用性解决方案

(FortiGate)飞塔防火墙HA(高可用性)解决方案

1. 概述 HA问题是建设TCP/IP网络需要考虑的一个重要问题.当因为某个设备出现宕机时,如何保证网络依旧畅通是依赖于关键业务的公司的网络建设的核心.所有流量都要经过安全网关,设计网络让安全网关不会成为单点故障,同时还需要保证故障时业务系统得到安全防护,避免网络攻击给公司带来不可估计的损失. Fortinet公司作为安全资深公司,在不断地发展安全设备的功能和性能时,同样为高可靠性提供了多种解决方案,VRRP.会话同步和HA解决方案(FGCP).强大和灵活的高可用性解决方案是很多运行着关键业务的

搞懂分布式技术11:分布式session解决方案与一致性hash

搞懂分布式技术11:分布式session解决方案与一致性hash session一致性架构设计实践 原创: 58沈剑 架构师之路 2017-05-18 一.缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文. Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建session,提供数据存储功能.最常见的,会把用户的登录信息.用户信息存储在session中,以保持登录状态. 什么是session一致性问题? 只要

(一)什么是高可用性解决方案?

我们对数据库安全常用的一些方案 凡是我们写成功的程序大部分都会和数据库进行交互,我们的数据库也必须有必要的措施防止数据库的崩溃.在我们学习高可用性解决方案之前我们都是用的数据库备份和还原(如果你连这个都没考虑到,那你写的程序也太不安全了).具体的备份的实现也有很多,比如说完整备份,差异备份--这里都不具体说了,大家可以去另外学习.但是这些备份会浪费好多时间,且随着数据库的增加几何性的增长?当一个网站的数据库发生故障时,我们不可能用备份的形式去完成数据库的维护.比如你正在京东买东西,突然京东的数据

大数据量、高并发数据库的高性能、高可用性解决方案

大数据量.高并发数据库的高性能.高可用性解决方案: 1.拆表:大表拆小表(垂直拆,水平拆:分表,分区partition,分片sharding),可以在应用层实现,也可以在数据库层面实现一部分:提高系统性能. 2.分库:把表放到不同的数据库,这也是分布式数据库的基础:提高系统性能. 3.分布式:不同的数据库放到不同的服务器:提高系统性能. 4.集群:使用数据库复制等技术组建集群,实现读写分离.备份等:提高系统性能.可用性. 5.缓存:对常用的数据进行缓存.提高系统性能. 6.备份:主从库,快照,热

Cadence Innovus v15.10.000 Linux 1DVD物理设计实现解决方案

Cadence Innovus v15.10.000 Linux 1DVD物理设计实现解决方案新一代的物理设计实现解决方案,使系统芯片(system-on-chip,SoC)开发人员能够在加速上市时间的同时交付最佳功耗.性能和面积(PPA)指 标的的设计.Innovus设计实现系统由具备突破性优化技术所构成的大规模的并行架构所驱动,在先进的16/14/10纳米FinFET工艺制程和其他 成熟的制程节点上通常能提升10%到20%的功耗.性能和面积指标,并实现最高达10倍的全流程提速和容量增益. E

Bentley.RAM.Structural.System.V8i.v14.06.02.00.Win32_64 1CD为建筑分析和设计工程解决方案

Bentley.RAM.Structural.System.V8i.v14.06.02.00.Win32_64 1CD为建筑分析和设计工程解决方案RAM Structural System 是唯一一款完全与钢结构和混凝土结构的整个建筑分析.设计和制图集成的工程软件解决方案!发动机及整车开发工具 GT-Suite.v7.4.Update.3.Only 1DVDCSimsoft.Trelis.Pro.v15.0.0.Win64 1CD有限元分析网格生成工具++++++++++++++++++++++

iOS 11 APP 设计中的几个 UI 设计细节

Apple 官网看了 iOS 11 的介绍,发现有不少的更新哦,比如控制中心.Siri.Live Photo 等等,总体来说都有很多不错的体验,不过本文不介绍功能,只说视觉界面. 在 iOS 11 的新 UI 界面中,重大更新的界面主要有 App Store,所以我从应用商店的UI设计也能看出一些大概细节. 图标:从线性改为面形 新版 Store 的图标从线性改为面形,图标也加入了圆角,看起来更加圆滑,同时和 iOS 10中的 iTunes 相关应用风格也统一了. Icon 颜色比如来的线性浅了

【原创】Kafka 0.11消息设计

Kafka 0.11版本增加了很多新功能,包括支持事务.精确一次处理语义和幂等producer等,而实现这些新功能的前提就是要提供支持这些功能的新版本消息格式,同时也要维护与老版本的兼容性.本文将详细探讨Kafka 0.11新版本消息格式的设计,其中会着重比较新旧两版本消息格式在设计上的异同.毕竟只有深入理解了Kafka的消息设计,我们才能更好地学习Kafka所提供的各种功能. 1. Kafka消息层次设计 不管是0.11版本还是之前的版本,Kafka的消息层次都是分为两层:消息集合(messa