1.简述CAP理论
一致性 C
可用性 A
分区容错性P 网络分区必定存在节点丢包问题
2.简述BASE理论
BASE模型
BA:基本可用
S:软状态,状态可以在一段时间内不同步
E:最终一致
BASE思想可以解决案例一一致性问题
3.数据一致性模型
强一致性
弱一致性
最终一致性
因果一致性:因果关系顺序得到保证
会话一致性:分布式session一致性问题
4.Quorum,WARO机制(选举算法,主从架构)
Write all read one(WARO):只要有一个节点存活仍能提供读服务
Quorum 对WARO条件进行松弛,对读写服务可用性做折中,保证读取到最新的 ,配合版本号 10-N+1个节点保证读取最新的
kafka ack.all
5.paxos算法 一致性算法 算法模型 raft zab
一种思想
6.负载均衡策略有哪些
.随机
.轮询
.一致性哈希
.加权
.最小连接数
.源地址哈希
7.集群 分布式 SOA,微服务

8.分布式事务的解决方案?涉及到两个数据源,不同机器的DB访问
XA协议:
事务补偿:TCC
事务消息MQ
两阶段提交,三阶段提交,TCC、
两阶段提交协议:准备阶段,提交阶段
三阶段提交协议:询问阶段,准备阶段,提交阶段
TCC协议:Try,Confirm,Cancel,先执行try,没问题执行confirm,如果出现问题执行Cancel
9.如何理解RPC 远程协议调用

10.ZK得选举和崩溃选举过程 改投时需要更新信息,并广播
—集群初始化选举
1.2.3.4.5
依次比较.半数同意3为主节点其他为follower

—崩溃选举 Leader E

follower进入looking状态
半数转为leader 节点内为二进制数组,存储节点数据
11简述zk的数据模型
持久节点:有子节点
临时:没有子节点信息
有序
12zk数据同步原理

一共四类
13 zk的watch机制实现原理

1.new Zookeeper
2.动态添加 getData exists getChildren
14zk的分布式锁原理

创建一个临时节点,如果自己不是第一个节点 就对上一个节点加监听器watch
上一个节点释放锁就排到前面去,解决惊群效应,临时节点会自动释锁,来避免死锁
惊群效应:如果多个服务其中一个服务挂掉,那么锁释放的时候不会唤醒所有线程
https://blog.csdn.net/second60/article/details/81252106

最后等待锁的线程太长,容易线程饿死
15:简述zk的应用场景
数据节点丰富,watch机制
znode只能放1M数据,用来存储配置信息
能做的很多,但是否最合适要另论

16zk中一个客户端修改了某个节点的数据,其他客户端能够马上获取到这个最新数据吗
ZAB协议 数据同步
能读到 但是需要加sync参数,不加读到的是老版本的数据
17请谈谈ZK对事务性的支持
依赖于函数操作
zoo_create_op_init
zoo_muti提交事务返回值是第一个失败状态操作的状态信号
18简述zk中的观察者机制
动态扩展zookeeper集群又不会降低性能,添加的是observer类型
负责同步leader同步过来的数据

19zk的会话管理机制

20Dubbo是什么?能做什么?
1.远程通讯
2.集群容错
3.自动发现
21能说下Dubbo的工作流程吗

22简述dubbo的SPI机制

23为什么 Dubbo 不用 JDK 的 SPI,而是要自己实现?

24简述dubbo服务暴露过程

25简述dubbo服务引入过程

26简述dubbo服务调用过程

27dubbo中Zk集群挂掉,发布者和订阅者还能通信么

28 zk实际如何存储dubbo生产者和消费者信息

29存储拆分后如何解决唯一主键
雪花算法
强依赖于时钟
30分布式session

IP绑定存在ip动态,服务宕机
redis的话可以跨平台,跨语言

31如何实现分库分表

32定时任务实现原理
Timer 优先级队列 BlockingQueue
小顶堆 数据结构 子节点大于父节点