IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 高可用 原理+实践 -> 正文阅读

[大数据]高可用 原理+实践

参考:

高可用集群--原理和技术总结_鼓浪屿岛与海的博客-CSDN博客_高可用性集群技术

目录

高可用目的

高可用集群解决的问题

例子:Nginx+keepalived 实现高可用集群

例子:Redis的几种高可用集群方案 - 随彦心MO - 博客园

高可用原理

(1)自动侦测(Auto-Detect)阶段

(2)自动切换(Auto-Switch)阶段

(3)自动恢复(Auto-Recovery)阶段

?高可用集群和负载均衡集群区别?

Redis具体的集群配置

Redis主从复制

主从复制原理

优点

缺点

哨兵模式

哨兵模式的优缺点

Redis集群

优点

缺点


高可用目的

集群的高可用特性的目的:当集群中某个节点服务器出现宕机时,通过前端服务器的分发器检测到从而将该出现故障节点服务器的请求转发到另一个正常工作的节点服务器上,从而提高了集群的高可用的能力

高可用集群解决的问题

(1)对于服务而言,一旦某个机器宕机,就会将服务自动转移到其他可用的服务器上

例子:Nginx+keepalived 实现高可用集群

(2)对于数据而言,如果某个磁盘损坏,就会从备份的磁盘 (事先做好了数据同步复制)读取数据

例子:

高可用原理

?????? 高可用集群实现的原理主要是 自动侦测(Auto-Detect)故障、自动切换/故障转移(FailOver)和自动恢复(FailBack)。

通过自动侦测实时地发现故障节点,

通过 自动切换/故障转移 快速地将检测的故障节点的请求转发到其他正常工作的节点服务器上,在正常工作的节点服务器代替故障服务器工作时,故障主机进入自动修复阶段,可离线进行修复工作,

在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回修复完成的主机上。

(1)自动侦测(Auto-Detect)阶段

由主机上的软件通过冗余侦测线,经由复杂的监听程序。逻辑判断,来相互侦测对方运行的情况,所检查的项目有:主机硬件(CPU和周边)、主机网络、主机操作系统、数据库引擎及其它应用程序、主机与磁盘阵列连线。为确保侦测的正确性,而防止错误的判断,可设定安全侦测时间,包括侦测时间间隔,侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供维护参考。

(2)自动切换(Auto-Switch)阶段

某一主机如果确认对方故障,则正常主机除继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服务。

(3)自动恢复(Auto-Recovery)阶段

在正常主机代替故障主机工作后,故障主机可离线进行修复工作。在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回修复完成的主机上。整个回复过程完成由EDI-HA自动完成,亦可依据预先配置,选择回复动作为半自动或不回复。

?
高可用集群和负载均衡集群区别?

(1)高可用集群的节点一般是一主一备,或一主多备

(2)负载均衡一般是多主,每个节点都负担流量
?

Redis具体的集群配置

Redis主从复制

主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

主从复制原理

l Slave启动成功连接到master后会发送一个sync命令

l Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令, 在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次全量复制

l 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。

l 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步

l 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行
主从复制优缺点

摘自:Redis集群的 3 种方式,各自优缺点分析! - 知乎


优点

??? 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离
??? Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。
??? Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
??? Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据

缺点

??? Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
??? 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。
??? Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。

哨兵模式

主从复制 设置哨兵,如果主机down掉那么从机上位。

Redis-server.exe sentinel.conf --sentinel

能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库

哨兵模式的优缺点

优点

??? 哨兵模式是基于主从模式的,所有主从的优点,哨兵模式都具有。
??? 主从可以自动切换,系统更健壮,可用性更高。

缺点

??? Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。

Redis集群

redis的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台redis服务器都存储相同的数据,很浪费内存,所以在redis3.0上加入了cluster模式,实现的redis的分布式存储,也就是说每台redis节点上存储不同的内容。

Redis 集群实现了对Redis的水平扩容,即启动N个Redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。

Redis 集群通过分区(partition)来提供一定程度的可用性(availability):即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求。

优点

扩容,容灾,分摊压力


缺点

方案没有被目前的公司广泛部署,因为大都采用 代理模式
?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:39:43  更:2022-03-04 15:40:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:32:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码