Oracle最高可用性架构(MAA)|白银级(SILVER)

Posted 明矾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle最高可用性架构(MAA)|白银级(SILVER)相关的知识,希望对你有一定的参考价值。

提到数据库高可用,Oracle作为先行者,其体系全面,值得参考和学习

1、什么是MAA

参考之前的文章: Oracle最高可用性架构(MAA)|青铜级(BRONZE)

https://www.cnblogs.com/mingfan/p/16804556.html

2、白银级(SILVER)MAA

白银级层建立在青铜级基础上,它引入了集群技术以提高意外中断和计划维护的可用性

3、架构

3.1、 Real Application Clusters (Oracle RAC)

3.1.1、同时利用两个或多个Oracle数据库实例

3.1.2、可扩展性

  所有实例都处于活动状态

  在线扩容

3.1.3、高可用性  

  1)、将服务自动故障转移到已在运行的实例

  2)、中断对用户透明,不影响运行中事务

  3)、零停机滚动维护

 

3.2、透明的应用程序连续性- Transparent Application Continuity (TAC) 

3.2.1、在出现故障时透明地跟踪和记录会话信息
3.2.2、内置于数据库中,因此无需更改任何应用程序即可运行
3.2.3、在发生意外故障时重建会话状态并重放正在进行的事务
3.2.4、处理计划内维护,从一个或多个节点清空会话

3.3、计划维护

3.3.1、不停机的计划内维护

1)、停止第一个节点数据库
2)、服务在另一个RAC实例上启动
3)、连接到原服务的会话将被清空
4)、新会话连接到另一个实例上的服务
5)、返回给用户的数据库请求结果
6)、开始维护第一个节点

 3.3.2、计划外停机

1)、数据库请求被中断或超时中断
2)、会话重新连接到RAC群集

3)、自动重放请求
4)、返回给用户的数据库请求结果

 

4、停机矩阵

计划外停机

RTO

RPO

可恢复的节点或实例故障

个位数的秒级

0

灾难:损坏和站点故障

几小时到几天

自上次备份

 

计划内维护

RTO

RPO

软件/硬件更新

0

0

重大数据库升级

分钟到小时

0

11 高可用的网站架构

通常企业级应用系统为提高系统可用性,会采用较昂贵的软硬件设备,如IBM的小 型机乃至中型机大型机及专有操作系统、Oracle数据库、EMC存储设备等。互联网公司 更多地采用PC级服务器、开源的数据库和操作系统,这些廉价的设备在节约成本的同时 也降低了可用性,特别是服务器硬件设备,低价的商业级服务器一年宕机一次是一个大 概率事件,而那些高强度频繁读写的普通硬盘,损坏的概率则要更高一些。

既然硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障 时服务依然可用、数据依然保存并能够被访问。

实现上述高可用架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服 务器宕机,就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份的磁盘读取 数据。
一个典型的网站设计通常遵循如图5.2所示的基本分层架构模型。

典型的分层模型是三层,即应用层、服务层、数据层;各层之间具有相对独立性, 应用层主要负责具体业务逻辑处理;服务层负责提供可复用的服务;数据层负责数据的 存储与访问。中小型网站在具体部署时,通常将应用层和服务层部署在一起,而数据层 则另外部署,如图5.3所示(事实上,这也是网站架构演化的第一步)。

在复杂的大型网站架构中,划分的粒度会更小、更详细,结构更加复杂,服务器规 模更加庞大,但通常还是能够把这些服务器划分到这三层中。如图5.4所示。

不同的业务产品会部署在不同的服务器集群上,如某网站的文库、贴吧、百科等属 于不同的产品,部署在各自独立的服务器集群上,互不相干。这些产品又会依赖一些共 同的复用业务,如注册登录服务‘Session管理服务、账户管理服务等,这些可复用的业 务服务也各自部署在独立的服务器集群上。至于数据层,数据库服务、文件服务、缓存 服务、搜索服务等数据存储与访问服务都部署在各自独立的服务器集群上。

大型网站的分层架构及物理服务器的分布式部署使得位于不同层次的服务 器具有不同的可用性特点。关闭服务或者服务器宕机时产生的影响也不相同, 咼可用的解决方案也差异甚大。

位于应用层的服务器通常为了应对高并发的访问请求,会通过负载均衡设备将一组 服务器组成一个集群共同对外提供服务,当负载均衡设备通过心跳检测等手段监控到某 台应用服务器不可用时,就将其从集群列表中剔除,并将请求分发到集群中其他可用的 服务器上,使整个集群保持可用,从而实现应用高可用。

位于服务层的服务器情况和应用层的服务器类似,也是通过集群方式实现高可用, 只是这些服务器被应用层通过分布式服务调用框架访问,分布式服务调用框架会在应用 层客户端程序中实现软件负载均衡,并通过^务注册中心对提供服务的服务器进行心跳检 测,发现有服务不可用,立即通知客户端程序修改服务访问列表,剔除不可用的服务器。

位于数据层的服务器情况比较特殊,数据服务器上存储着数据,为了保证服务器宕 机时数据不丢失,数据访问服务不中断,需要在数据写入时进行数据同步复制,将数据 写入多台服务器上,实现数据冗余备份。当数据服务器宕机时,应用程序将访问切换到 有备份数据的服务器上。

网站升级的频率一般都非常高,大型网站一周发布一次,中小型网站一天发布几次。 每次网站发布都需要关闭服务,重新部署系统,整个过程相当于服务器宕机。因此网站 的可用性架构设计不但要考虑实际的硬件故障引起的宕机,还要考虑网站升级发布引起 的宕机,而后者更加频繁,不能因为系统可以接受偶尔的停机故障就降低可用性设计的标准。

以上是关于Oracle最高可用性架构(MAA)|白银级(SILVER)的主要内容,如果未能解决你的问题,请参考以下文章

高可用——网站架构

11 高可用的网站架构

11 高可用的网站架构

Oracle_RAC_12C管理与实战

选对方法,才能更好掌握Oracle Database 12c的新特性

亿级流量电商系统实战视频缓存架构+高可用服务架构+微服务架构