分布式理论

01简述CAP理论

数据一致性(consistency): 如果系统对一个写操作返回成功,则之后的读请求都必须读到这个新的值
服务可用性(avaliability): 所有读写请求在一定时间内一定能得到响应
分区容错性(partition-tolerance):在网络分区情况下,被分隔的节点能够正常对外开放
在分布式的环境中,必须要有p,不然就不叫分布式了
所以只能选择CP和AP
因为允许分区容错, 写操作有可能在节点1上成功,节点2失败,这个时候对于client1和client2就可能读取到了不同的值,
出现了不一致的情况
如果要保持一直性,则写入必须同时失败,也就是降低了系统的可用性

简述Base理论

在CAP的基础上做了妥协
Base理论降低了发生分区容错时对可用性和一致性的要求
1.基本可用: 允许可用性降低(可能相应时间变长,可能服务降级)
2.软状态: 允许系统中的数据存在中间状态,并认为中间状态不会影响系统整体的可用性(支付中等状态)
3.最终一致性: 节点数据同步可能存在时延,但在一定期限后必须达成一致,变成最终状态

数据一致性模型有哪些

强一致性: CAP,插入和更新后所有节点都能同时读到
弱一致性: 存在不一致性的窗口
最终一致性: 弱一致性的特例
因果一致性: 有因果操作的顺序得到保证,A更新完某个数据后通知B,B拿到的值必须是A修改过后的值
会话一致性: 将数据访问框定在一个会话当中,在同一个会话中,总是能读到最新值 eg: 分布式session一致性问题
单调读一致性: 当一个值存在多个修改的版本,每次读都只会读到最新的版本
单调写一致性: 写的顺序控制
读写一致性: 自己写的值自己读能够一致

Quorum waro机制

笔记-分布式系统常见概念
总共10个副本,一次更新成功3个,然后最少读8个副本的数据,这样就一定能取到最新的数据,取版本号最大的那条数据就是最新的

一致性paxos算法

解决多个节点对某个值达成一致的协议,只是一个算法思想
笔记-分布式系统常见概念


笔记-分布式系统常见概念

raft算法

笔记-分布式系统常见概念
笔记-分布式系统常见概念
笔记-分布式系统常见概念

zab协议

笔记-分布式系统常见概念

负载均衡策略有哪些

笔记-分布式系统常见概念

集群 分布式 SOA 微服务的概念及区别

笔记-分布式系统常见概念

分布式系统的设计目标

笔记-分布式系统常见概念

分布式事务有哪些解决方案

1.多数据源的情况下
2.两个微服务使用两个数据库


笔记-分布式系统常见概念

对比两阶段, 三阶段有哪些改进

两阶段
笔记-分布式系统常见概念


笔记-分布式系统常见概念


三阶段提交
笔记-分布式系统常见概念
三阶段相比二阶段的区别是多了一次探测的操作,确认数据库的环境是否正常


笔记-分布式系统常见概念


简述TCC事务模型

笔记-分布式系统常见概念

如何理解RPC

笔记-分布式系统常见概念

zookeeper

zk的初始化选举和崩溃选举过程

笔记-分布式系统常见概念


笔记-分布式系统常见概念

简述zk的数据模型

笔记-分布式系统常见概念


笔记-分布式系统常见概念

zk数据同步原理

笔记-分布式系统常见概念

zk的watch机制实现原理

笔记-分布式系统常见概念


笔记-分布式系统常见概念
笔记-分布式系统常见概念
先进先出队列进行处理

zk分布式锁实现原理

通过临时节点实现
笔记-分布式系统常见概念

zk典型应用场景

笔记-分布式系统常见概念

zk中的一个客户端修改了某个节点的数据,其他客户端能马上获取到这个最新数据吗

如果访问的是从节点,需要先执行sync命令,让从节点先从主节点拉取最新的值, 然后再读取,这样就能读取到最新的值

zk对事务的支持

笔记-分布式系统常见概念

zk中的观察者机制

笔记-分布式系统常见概念

zk的会话管理机制

笔记-分布式系统常见概念
笔记-分布式系统常见概念

dubbo

阿里巴巴开源的rpc框架,是一个远程服务调用的分布式框架
核心部分:
笔记-分布式系统常见概念

dubbo工作流程

笔记-分布式系统常见概念


笔记-分布式系统常见概念

简述dubbo中的spi机制

jdk中的SPI(服务发现机制): 自动根据接口找到接口的实现类
eg: jdbc中的class.forName 没有指定实现类,只指定了一个接口,最后也能使用
jdk中的实现:

  1. 指定一个目录
  2. 在这个目录中放实现类的文件
    笔记-分布式系统常见概念

为什么dubbo不用jdk的spi,而是自己实现

笔记-分布式系统常见概念

dubbo服务暴露过程

笔记-分布式系统常见概念

dubbo服务引入过程

笔记-分布式系统常见概念

dubbo服务调用过程

笔记-分布式系统常见概念

dubbo中zk集群挂掉, 发布者和订阅者还能通信吗

笔记-分布式系统常见概念

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

生产者和消费者都注册临时节点,并维持心跳

dubbo支持的注册中心

笔记-分布式系统常见概念

dubbo集群容错策略

笔记-分布式系统常见概念

dubbo支持的协议

笔记-分布式系统常见概念

dubbo的分层设计

笔记-分布式系统常见概念

dubbo和springcloud对比

笔记-分布式系统常见概念

redis

缓存雪崩

笔记-分布式系统常见概念
互斥锁的意思是,查询数据库的时候只允许一个key查db,查询到马上更新缓存,其他线程唤醒后直接读缓存

缓存穿透

笔记-分布式系统常见概念

缓存击穿

笔记-分布式系统常见概念

分布式系统常见缓存方案

笔记-分布式系统常见概念
笔记-分布式系统常见概念

常见缓存淘汰算法

笔记-分布式系统常见概念

如何保证数据库和缓存一致性

笔记-分布式系统常见概念***


笔记-分布式系统常见概念

服务降级 服务熔断

笔记-分布式系统常见概念


笔记-分布式系统常见概念

redis持久化机制

rdb
笔记-分布式系统常见概念
bgsave命令用到了写时复制技术,保证是某一时间节点的备份数据,在持久化过程中不影响读写功能
aof
笔记-分布式系统常见概念
笔记-分布式系统常见概念

redis单线程为什么这么快

为了减少线程上下文切换的消耗
为什么java要使用多线程? 因为java中的线程操作时间长,cpu切换的时间
相对线程消耗的时间来说也是划算的
笔记-分布式系统常见概念
笔记-分布式系统常见概念

redis主从同步机制

笔记-分布式系统常见概念


笔记-分布式系统常见概念


笔记-分布式系统常见概念

分布式缓存寻址算法

笔记-分布式系统常见概念

redis高可用方案

笔记-分布式系统常见概念

redis事务

笔记-分布式系统常见概念
笔记-分布式系统常见概念
笔记-分布式系统常见概念

redis数据结构: 一般是说5种

笔记-分布式系统常见概念

数据库实现分布式锁

笔记-分布式系统常见概念

redis分布式锁的实现

笔记-分布式系统常见概念

消息队列优缺点,使用场景

笔记-分布式系统常见概念

如何保证消息没有被重复消费

笔记-分布式系统常见概念

redis高可用集群模式

启动的时候,将16384个节点均匀分布到不同的节点上
笔记-分布式系统常见概念

kafka activemq rabbitmq rocketmq 对比

笔记-分布式系统常见概念

rabbitmq

rabbitmq架构设计

笔记-分布式系统常见概念
vhost: 可以实现应用隔离

rabbitmq交换机类型

笔记-分布式系统常见概念

rabbitmq可以直连队列吗

可以,但是正常情况下不会这样做

rabbitmq持久化机制

笔记-分布式系统常见概念

rabbitmq事务消息机制

发送端: 准备多一个队列,当commit后将该队列的内容移到有消费者连接的那一个队列
消费端: commit就删除队列的数据,否则不删除队列的数据
笔记-分布式系统常见概念

rabbitmq如何保证消息可靠性传输

不用事务,因为溪能比较差
笔记-分布式系统常见概念

rabbit 死信队列,延迟队列原理

笔记-分布式系统常见概念
笔记-分布式系统常见概念

rabbitmq的普通集群模式

笔记-分布式系统常见概念
只有元数据才是同步的,数据是分布在每个节点上
笔记-分布式系统常见概念
笔记-分布式系统常见概念

rabbitmq的镜像队列原理

笔记-分布式系统常见概念

kafka

kafka架构设计

笔记-分布式系统常见概念

kafka性能高的原因

笔记-分布式系统常见概念

kafka副本同步机制

笔记-分布式系统常见概念
笔记-分布式系统常见概念

kafka消息高可靠解决方案

笔记-分布式系统常见概念

kafka的rebalance机制

rebalance发生时读写会停止
笔记-分布式系统常见概念

rocketmq

rocketmq架构设计

笔记-分布式系统常见概念

rocketmq事务消息原理

笔记-分布式系统常见概念


笔记-分布式系统常见概念
笔记-分布式系统常见概念

rocketmq怎样实现顺序消息

笔记-分布式系统常见概念

rocketmq持久化机制

笔记-分布式系统常见概念
笔记-分布式系统常见概念

rocketmq广播消息

笔记-分布式系统常见概念

延迟消息

笔记-分布式系统常见概念

事务消息

笔记-分布式系统常见概念

ACL

笔记-分布式系统常见概念

rocketmq高效三大利器

1.顺序存
2.零拷贝
3.异步刷盘

相关文章: