最全SpringCloud Alibaba学习笔记 ——(四、Nacos 集群部署实现),kafka面试问题

Ending

Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下

如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)

吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

4.1.1 分布式系统中一致性协议有哪些

Raft 到底是什么问题:分布式一致性算法

分布式系统一致性算法 应用于系统软件实现集群保持每个节点数据的同步性

保持我们集群中每个节点数据一致性问题,专业术语分布式一致性的。

场景:

  • Redis集群

  • Nacos集群

  • MangoDB集群

分布式事务一致性算法 与 分布式系统一致性算法有哪些

前者框架:核心解决我们实际系统产生的跨事务导致的分布式事务问题。

核心靠最终一致性:rocketmaq事务消息、rabbitmq补单、lcn、seata等。

后者框架:解决系统之间集群之后每个节点保证数据一致性

raft(nacos)、zab(zookeeper)、paxos等

整个集群为保证数据一致性问题,必须满足大多数情况 > n /2+1,可运行的接地那才可以使用

4.1.2 ZAB 协议与 Paxos 协议类型的区别

ZAB 协议实现原理

ZAB 协议实现原理是通过比较 myidmyid 谁最大谁谁就可能成为领导角色,只要满足过半机制即可成为领导角色,后来启动的节点也不会参与成为领导角色

数据一致性

4.2 Nacos Raft一致性心跳的实现原理


4.2.1 在 Raft 协议算法中分为角色 | 名词

  1. 状态:分为跟随者、竞选者(候选人)、领导角色

  2. 大多数: > n/2+1(n 集群的总结点)

  3. 任期:每次选举一个新的领导角色 任期都会实现增加

注意:任何算法都来源生活

  1. 经选择谁的票数最多,谁就是为领导角色。

存在的疑问:

多个竞选者:产生的票数都完全一样,这样谁才能成为领导角色

4.2.2 选举的过程是如何?

  1. 默认的情况下每个节点都是为跟随者

  2. 每个节点会随机的生成一个选举的超时时间,例如大概是 100 - 300ms,在这个超时的时间范围内必须要等待

  3. 超时时间过后,当前节点的状态可能由跟随者 变为 竞选者状态,会给其他的节点发出选举投票通知,只要该经选择超过半数以上即可进选

核心设计的原理:谁超时时间最短大概率的为领导角色

那么随机性树有可能出现一样的情况下:

  1. 如果所有的节点的超时随机数都是一样的情况下,当投票全部作废,重新进入随机生成超时时间

  2. 如果有多个节点生成的随机都是一样的,比较谁的票数最多,谁就是为领导,如果票数完全一样的情况下,直接作废,重新进入随机生成的超时时间,建议集群节点为奇数

4.2.3 分布式一致性算法 Raft 协议

故障重新实现选举.

如果我们跟随者节点不能及时的收到领导角色的消息的,那么这时候跟随者状态就会变

为竞选者状态,发给其他的节点发出选举投票通知,只要该竞选者有超过半数以上即可

选举为领导角色

数据如何保证一致性 类似 zab 两阶段提交协议

最后

即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!

我也是第一时间分享出来给大家,希望可以帮助大家都能去往自己心仪的大厂!为金三银四做准备!
一共有20个知识点专题,分别是:

Dubbo面试专题

JVM面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Java并发面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Kafka面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MongDB面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MyBatis面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

MySQL面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Netty面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

RabbitMQ面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Redis面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

Spring Cloud面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

SpringBoot面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

zookeeper面试专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

常见面试算法题汇总专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

计算机网络基础专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

设计模式专题

这个GItHub上的Java项目开源了,2020最全的Java架构面试复习指南

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

1715583460616)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 23
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值