当前位置: 首页 > news >正文

如果评价网站做的好不好上海培训机构有哪些

如果评价网站做的好不好,上海培训机构有哪些,抖音自媒体平台注册入口,百度做的网站迁移目录 1. 高可用2. redis 哨兵模式3. 图文的方式让我们读懂这几个算法3.1. Raft算法 - 图文3.2. Paxos算法 - 图文3.3. 区别: 1. 高可用 在 Redis 中,实现 高可用 的技术主要包括 持久化、复制、哨兵 和 集群,下面简单说明它们的作用&#xf…

目录

  • 1. 高可用
  • 2. redis 哨兵模式
  • 3. 图文的方式让我们读懂这几个算法
    • 3.1. Raft算法 - 图文
    • 3.2. Paxos算法 - 图文
    • 3.3. 区别:

1. 高可用

在 Redis 中,实现 高可用 的技术主要包括 持久化、复制、哨兵 和 集群,下面简单说明它们的作用,以及解决了什么样的问题:

  • 持久化:持久化是 最简单的 高可用方法。它的主要作用是 数据备份,即将数据存储在 硬盘,保证数据不会因进程退出而丢失。
  • 复制:复制是高可用 Redis 的基础,哨兵 和 集群 都是在 复制基础 上实现高可用的。复制主要实现了数据的多机备份以及对于读操作的负载均衡和简单的故障恢复。缺陷是故障恢复无法自动化、写操作无法负载均衡、存储能力受到单机的限制。
  • 哨兵:在复制的基础上,哨兵实现了 自动化 的 故障恢复。缺陷是 写操作 无法 负载均衡,存储能力 受到 单机 的限制。
  • 集群:通过集群,Redis 解决了 写操作 无法 负载均衡 以及 存储能力 受到 单机限制 的问题,实现了较为 完善 的 高可用方案。

2. redis 哨兵模式

介绍:哨兵模式是为了解决服务器故障。
功能:Redis 哨兵模式是指在 Redis 集群中,有一组专门的进程(即哨兵进程)负责监控主节点和从节点的状态,并在发现故障时自动进行故障转移,以保证 Redis 集群的高可用性。

是否默认开启:Redis并没有默认开启哨兵模式,需要手动配置哨兵节点,并通过哨兵节点监控Redis主从节点的健康状态。

哨兵模式三大任务:监控、提醒、自动故障迁移

解决办法:raft算法(基于领导者的一致性算法)、Paxos算法(基于提案的一致性算法)

  1. raft算法(基于领导者的一致性算法):角色分为:领导者、候选者、跟随者
    初始化什么时候变成候选者 - 集群启动时,所有的节点都是跟随者,没有领导者。每个节点都有一个选举超时时间,随机在150ms到300ms之间,如果在超时时间内没有收到领导者的心跳包,就会转变为候选者,开始发起选举。
    发起选举发送选举时,发送什么到其他候选者 - 候选者会增加自己的选举轮次(term),并向其他节点发送选举请求,包含自己的选举轮次和标识。同时,候选者会给自己投一票,并重置自己的选举超时时间。
    投票是否给这个候选者投票 - 跟随者收到选举请求后,会比较自己的选举轮次和候选者的选举轮次,如果自己的选举轮次更大,或者已经给其他候选者投过票,就会拒绝投票;否则,就会同意投票,并重置自己的选举超时时间。
    统计票数统计有多少人给你投票,第一次确认 - 候选者收到投票回复后,会统计自己的票数,如果超过半数,就会成为领导者,并向其他节点发送心跳包,通知自己的领导地位;如果没有超过半数,就会继续等待投票回复,直到超时或者收到心跳包。
    维持领导者领导者诞生,并向其他发送心跳包,第二次确认 - 领导者会周期性地向所有跟随者发送心跳包,维持自己的领导地位,并检查跟随者的状态。如果领导者发现自己的选举轮次小于某个跟随者的选举轮次,就会认为自己的领导地位已经过期,转变为跟随者,重新开始选举超时计时。
    处理冲突故障导致多个领导者出现 - 如果集群中出现网络分区或者节点故障,可能会导致多个候选者同时发起选举,造成选举冲突。Raft算法通过随机化选举超时时间,使得冲突的概率降低。同时,如果一个候选者收到了另一个候选者的选举请求,它会拒绝投票,并重置自己的选举超时时间,避免无效的选举。
    最终,只有一个候选者能够获得多数的票数,成为领导者,结束选举。

  2. Paxos算法(基于提案的一致性算法):角色分为:提议者和接受者
    准备阶段生成提案编号 - 提议者会生成一个唯一的提案编号(n),并向所有的接受者发送准备请求,包含提案编号(n)。
    承诺阶段承诺不再接受任何编号小于n的提案 - 接受者收到准备请求后,会比较自己已经接受过的最大提案编号(n’)和当前提案编号(n),如果n’ >= n,就会拒绝准备请求;否则,就会承诺不再接受任何编号小于n的提案,并回复提议者,包含自己已经接受过的最大提案编号(n’)和对应的从节点标识(v’)。
    接受阶段接收到所有提案,然后统计,第一次确认 - 提议者收到半数以上的接受者的回复后,会从中选择最大的提案编号(n’)和对应的从节点标识(v’),如果n’为0,就说明没有接受者接受过任何提案,此时提议者可以自由选择一个从节点标识(v)。然后,提议者会向所有的接受者发送接受请求,包含提案编号(n)和从节点标识(v)。
    确认阶段统计后,向其他接收者第二次确认,再也没有新的提案了(二阶段确认) - 接受者收到接受请求后,会比较自己已经承诺过的最小提案编号(n’‘)和当前提案编号(n),如果n’’ > n,就会拒绝接受请求;否则,就会接受提案,并回复提议者,包含提案编号(n)和从节点标识(v)。
    完成阶段提升为主节点 - 提议者收到半数以上的接受者的回复后,就会认为提案达成一致,即从节点标识(v)被选为新的主节点,并通知所有的接受者。

它们都采用二阶段确认的方式来达成共识的,都差不多。

参考:Redis哨兵模式中的选举算法:Raft vs Paxos
参考:Paxos算法
参考:redis默认开启哨兵模式的吗

3. 图文的方式让我们读懂这几个算法

3.1. Raft算法 - 图文

在这里插入图片描述

3.2. Paxos算法 - 图文

在这里插入图片描述

3.3. 区别:

确认阶段不同:

  • Raft算法:判断是否投过票
  • Paxos算法:不接受任何小于该编号的提案,而且还有第二阶段确认

相同:

  • 都是半数以上确认,都需要确认当前选举轮次/提案编号是最新的。
http://www.15wanjia.com/news/45446.html

相关文章:

  • 范例网站怎么做西安百度关键词推广
  • wordpress 钩子网站优化排名哪家好
  • 自动建设网站系统网络营销品牌
  • 学院招生网站建设方案山东济南seo整站优化费用
  • 湖南建设网站官网企业如何建立网站
  • 网站开发方案ppt市场营销推广活动方案
  • 会议网站今天特大军事新闻
  • 重庆最新新闻事件阿里巴巴seo排名优化
  • 中石化建设工程有限公司网站今日头条普通版
  • 国内高端医疗网站建设500强企业seo服务商
  • 域名申请后没有做网站全网营销是什么意思
  • 毕业设计网站建设seopc流量排行榜企业
  • 网站搬家数据库配置媒体发稿推广
  • 摄影作品发布平台推推蛙贴吧优化
  • 怎么样做一个网站互联网推广销售是做什么的
  • 南昌网站建设方案优化seo千享科技
  • 济南php网站开发网络推广网站推广方法
  • bs架构网站开发前台技术找回今日头条
  • 用h5做的网站云南网络推广
  • 网站开发技术及开发环境零基础学电脑培训班
  • 查看网站是什么语言做的百度手机怎么刷排名多少钱
  • 建网站 几个链接宁波seo外包
  • 永泰县网站集约化建设seo网页优化工具
  • 东莞东莞最新涨幅长沙优化科技
  • 做网购的有哪几个网站国际新闻军事最新消息
  • 网站制作服务友情链接怎么购买
  • 网站免费建站 图标淘宝seo排名优化软件
  • 可以建网站国内哪个搜索引擎最好用
  • 网站建设yu怎么建自己的网站?
  • 网站搭建运营app拉新推广一手接单平台